diff --git a/SPD-classes/src/main/java/com/watabou/input/PointerEvent.java b/SPD-classes/src/main/java/com/watabou/input/PointerEvent.java index 156ea5f8f..ec939580d 100644 --- a/SPD-classes/src/main/java/com/watabou/input/PointerEvent.java +++ b/SPD-classes/src/main/java/com/watabou/input/PointerEvent.java @@ -101,4 +101,13 @@ public class PointerEvent { } pointerEvents.clear(); } + + public static synchronized void clearPointerEvents(){ + pointerEvents.clear(); + for (PointerEvent p : activePointers.values()){ + p.current = p.start = new PointF(-1, -1); + pointerSignal.dispatch(p.up()); + } + activePointers.clear(); + } } diff --git a/SPD-classes/src/main/java/com/watabou/noosa/Game.java b/SPD-classes/src/main/java/com/watabou/noosa/Game.java index 6e0da151f..ca7175e9f 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/Game.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/Game.java @@ -31,6 +31,7 @@ import com.watabou.gltextures.TextureCache; import com.watabou.glwrap.Blending; import com.watabou.glwrap.Vertexbuffer; import com.watabou.input.InputHandler; +import com.watabou.input.PointerEvent; import com.watabou.noosa.audio.Music; import com.watabou.noosa.audio.Sample; import com.watabou.utils.Callback; @@ -154,6 +155,8 @@ public class Game implements ApplicationListener { @Override public void pause() { paused = true; + + PointerEvent.clearPointerEvents(); if (scene != null) { scene.onPause();