From 8d035b1aee20175ac4726020ca83db5c605f08ca Mon Sep 17 00:00:00 2001 From: Philipp Wiesemann Date: Tue, 12 Jan 2016 22:23:00 +0100 Subject: [PATCH] Android: Added mouse initialization to reset state. If the app is launched again then the shared object may be reused (on Android). --- src/video/android/SDL_androidmouse.c | 10 ++++++++-- src/video/android/SDL_androidmouse.h | 1 + src/video/android/SDL_androidvideo.c | 3 +++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/video/android/SDL_androidmouse.c b/src/video/android/SDL_androidmouse.c index 94b5c9553..bfbb8434d 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 9b68eed57..a64e06d51 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 e14b96641..0e24a3d36 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; }