diff --git a/src/core/android/SDL_android.c b/src/core/android/SDL_android.c index a4a2e1ce0..81d7fd429 100644 --- a/src/core/android/SDL_android.c +++ b/src/core/android/SDL_android.c @@ -732,7 +732,7 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeResize)( if (Android_Window) { - Android_SendResize(Android_Window); + Android_send_resize = 1; } SDL_UnlockMutex(Android_ActivityMutex); diff --git a/src/video/android/SDL_androidevents.c b/src/video/android/SDL_androidevents.c index de560c96a..b0f00c053 100644 --- a/src/video/android/SDL_androidevents.c +++ b/src/video/android/SDL_androidevents.c @@ -66,6 +66,11 @@ android_egl_context_restore(SDL_Window *window) event.type = SDL_RENDER_DEVICE_RESET; SDL_PushEvent(&event); } + + if (Android_send_resize) { + Android_send_resize = 0; + Android_SendResize(window); + } } } diff --git a/src/video/android/SDL_androidvideo.c b/src/video/android/SDL_androidvideo.c index 91e6e9973..41c4bde22 100644 --- a/src/video/android/SDL_androidvideo.c +++ b/src/video/android/SDL_androidvideo.c @@ -69,6 +69,7 @@ static int Android_ScreenRate = 0; SDL_sem *Android_PauseSem = NULL; SDL_sem *Android_ResumeSem = NULL; SDL_mutex *Android_ActivityMutex = NULL; +int Android_send_resize = 0; static int Android_Available(void) diff --git a/src/video/android/SDL_androidvideo.h b/src/video/android/SDL_androidvideo.h index ef909967a..4ee6d6960 100644 --- a/src/video/android/SDL_androidvideo.h +++ b/src/video/android/SDL_androidvideo.h @@ -44,6 +44,7 @@ extern int Android_SurfaceWidth; extern int Android_SurfaceHeight; extern SDL_sem *Android_PauseSem, *Android_ResumeSem; extern SDL_mutex *Android_ActivityMutex; +extern int Android_send_resize; #endif /* SDL_androidvideo_h_ */