Fixed bug 4669: Android software renderer, black screen when window resizes

Using the software SDL_Renderer on Android leads to GL errors & black screen when window resizes
This commit is contained in:
Sylvain Becker 2019-06-17 22:31:36 +02:00
parent 6c4765a17a
commit f2157b6c25
4 changed files with 8 additions and 1 deletions

View File

@ -732,7 +732,7 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeResize)(
if (Android_Window) if (Android_Window)
{ {
Android_SendResize(Android_Window); Android_send_resize = 1;
} }
SDL_UnlockMutex(Android_ActivityMutex); SDL_UnlockMutex(Android_ActivityMutex);

View File

@ -66,6 +66,11 @@ android_egl_context_restore(SDL_Window *window)
event.type = SDL_RENDER_DEVICE_RESET; event.type = SDL_RENDER_DEVICE_RESET;
SDL_PushEvent(&event); SDL_PushEvent(&event);
} }
if (Android_send_resize) {
Android_send_resize = 0;
Android_SendResize(window);
}
} }
} }

View File

@ -69,6 +69,7 @@ static int Android_ScreenRate = 0;
SDL_sem *Android_PauseSem = NULL; SDL_sem *Android_PauseSem = NULL;
SDL_sem *Android_ResumeSem = NULL; SDL_sem *Android_ResumeSem = NULL;
SDL_mutex *Android_ActivityMutex = NULL; SDL_mutex *Android_ActivityMutex = NULL;
int Android_send_resize = 0;
static int static int
Android_Available(void) Android_Available(void)

View File

@ -44,6 +44,7 @@ extern int Android_SurfaceWidth;
extern int Android_SurfaceHeight; extern int Android_SurfaceHeight;
extern SDL_sem *Android_PauseSem, *Android_ResumeSem; extern SDL_sem *Android_PauseSem, *Android_ResumeSem;
extern SDL_mutex *Android_ActivityMutex; extern SDL_mutex *Android_ActivityMutex;
extern int Android_send_resize;
#endif /* SDL_androidvideo_h_ */ #endif /* SDL_androidvideo_h_ */