Skip to main content
Inspiring
January 10, 2015
Question

AIR 16 - GesTouch completely broken [URGEN HELP]

  • January 10, 2015
  • 2 replies
  • 1105 views

Has anyone else noticed that the GesTouch library is broken in AIR 16?

Touch seems to be completely unresponsive. Works fine in AIR 15.

I need to update my app for the 64 Bit support and Gestouch is broken

This topic has been closed for replies.

2 replies

tdwivedi
Adobe Employee
Adobe Employee
January 13, 2015

Hi Applauz78,

Thanks to bring this to our notice. However I could not reproduce the issue on AIR16. I made 2 sample apps, one using text object, and another with an image, on the basis of code provided above. (Dropbox link of the flash builder project is attached).

Dropbox - Gestouch.zip

Kindly give more information and try to run the same on your setup. It will be great if you provide a sample app for the same, with which you are able to reproduce the issue.

Thanks

Tushar

Colin Holgate
Inspiring
January 10, 2015

AIR 16 defaults to uselegacyaot = no. Not even sure if it can use the old compiler. See this discussion, maybe there's something in there that could help:

Doesn't work with '-useLegacyAOT no' · Issue #75 · fljot/Gestouch · GitHub

Applauz78Author
Inspiring
January 10, 2015

I noticed someone said..  but I only have a GesTouch.swc   ..  how can I make these changes ?

My solution:
in org.gestouch.core.GestureState i changed:
"public static const POSSIBLE:GestureState = new GestureState("POSSIBLE");
public static const RECOGNIZED:GestureState = new GestureState("RECOGNIZED", true);
public static const BEGAN:GestureState = new GestureState("BEGAN");
public static const CHANGED:GestureState = new GestureState("CHANGED");
public static const ENDED:GestureState = new GestureState("ENDED", true);
public static const CANCELLED:GestureState = new GestureState("CANCELLED", true);
public static const FAILED:GestureState = new GestureState("FAILED", true);"

to:
"private static var cls:Class = GestureState;
public static const POSSIBLE:GestureState = new cls("POSSIBLE") as GestureState;
public static const RECOGNIZED:GestureState = new cls("RECOGNIZED", true) as GestureState;
public static const BEGAN:GestureState = new cls("BEGAN") as GestureState;
public static const CHANGED:GestureState = new cls("CHANGED") as GestureState;
public static const ENDED:GestureState = new cls("ENDED", true) as GestureState;
public static const CANCELLED:GestureState = new cls("CANCELLED", true) as GestureState;
public static const FAILED:GestureState = new cls("FAILED", true) as GestureState;"

Colin Holgate
Inspiring
January 10, 2015

A swc is just  zip file, you could uncompress it and then decompile the swf. But that then just gives you the source code that is on github anyway. And in there I can't find the lines that they are referring to. Perhaps they are lines that the poster created himself? If that's the case, the implication is that anywhere in your code where you say:

var whatever:GestureState = new GestureState("something");

you would change to:

var myclass:Class = GestureState;

var whatever:GestureState = new myclass("whatever") as GestureState;

I think the idea is to fool the compiler into giving you a the GestureState by pretending for a moment to be a generic Class.