Browse Source

Android: add mutex protection to onNativeOrientationChanged

it's possible receive try to send an event between the check first for SDL_GetVideoDevice
and SDL_VideoQuit is called
Sylvain Becker 6 years ago
parent
commit
8a19ff3e2d
1 changed files with 6 additions and 2 deletions
  1. 6 2
      src/core/android/SDL_android.c

+ 6 - 2
src/core/android/SDL_android.c

@@ -700,11 +700,15 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeOrientationChanged)(
                                     JNIEnv *env, jclass jcls,
                                     jint orientation)
 {
-    SDL_VideoDevice *_this = SDL_GetVideoDevice();
-    if (_this) {
+    SDL_LockMutex(Android_ActivityMutex);
+
+    if (Android_Window)
+    {
         SDL_VideoDisplay *display = SDL_GetDisplay(0);
         SDL_SendDisplayEvent(display, SDL_DISPLAYEVENT_ORIENTATION, orientation);
     }
+
+    SDL_UnlockMutex(Android_ActivityMutex);
 }
 
 JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeAddTouch)(