Commit 8d035b1aee20175ac4726020ca83db5c605f08ca

Philipp Wiesemann 2016-01-12T22:23:00

Android: Added mouse initialization to reset state. If the app is launched again then the shared object may be reused (on Android).

diff --git a/src/video/android/SDL_androidmouse.c b/src/video/android/SDL_androidmouse.c
index 94b5c95..bfbb843 100644
--- a/src/video/android/SDL_androidmouse.c
+++ b/src/video/android/SDL_androidmouse.c
@@ -40,9 +40,15 @@
 #define BUTTON_BACK 8
 #define BUTTON_FORWARD 16
 
-void Android_OnMouse( int androidButton, int action, float x, float y) {
-    static Uint8 SDLButton;
+static Uint8 SDLButton;
+
+void
+Android_InitMouse(void)
+{
+    SDLButton = 0;
+}
 
+void Android_OnMouse( int androidButton, int action, float x, float y) {
     if (!Android_Window) {
         return;
     }
diff --git a/src/video/android/SDL_androidmouse.h b/src/video/android/SDL_androidmouse.h
index 9b68eed..a64e06d 100644
--- a/src/video/android/SDL_androidmouse.h
+++ b/src/video/android/SDL_androidmouse.h
@@ -24,6 +24,7 @@
 
 #include "SDL_androidvideo.h"
 
+extern void Android_InitMouse(void);
 extern void Android_OnMouse( int button, int action, float x, float y);
 
 #endif /* _SDL_androidmouse_h */
diff --git a/src/video/android/SDL_androidvideo.c b/src/video/android/SDL_androidvideo.c
index e14b966..0e24a3d 100644
--- a/src/video/android/SDL_androidvideo.c
+++ b/src/video/android/SDL_androidvideo.c
@@ -36,6 +36,7 @@
 #include "SDL_androidclipboard.h"
 #include "SDL_androidevents.h"
 #include "SDL_androidkeyboard.h"
+#include "SDL_androidmouse.h"
 #include "SDL_androidtouch.h"
 #include "SDL_androidwindow.h"
 
@@ -181,6 +182,8 @@ Android_VideoInit(_THIS)
 
     Android_InitTouch();
 
+    Android_InitMouse();
+
     /* We're done! */
     return 0;
 }