Android: better fix for bug 3186. Run those commands from SDL thread.
parent
9f23d1815f
commit
462e62e154
|
@ -838,13 +838,6 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeResume)(
|
||||||
__android_log_print(ANDROID_LOG_VERBOSE, "SDL", "nativeResume()");
|
__android_log_print(ANDROID_LOG_VERBOSE, "SDL", "nativeResume()");
|
||||||
|
|
||||||
if (Android_Window) {
|
if (Android_Window) {
|
||||||
|
|
||||||
/* Make sure SW Keyboard is restored when an app becomes foreground */
|
|
||||||
if (SDL_IsTextInputActive()) {
|
|
||||||
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
|
||||||
Android_StartTextInput(_this); /* Only showTextInput */
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_SendAppEvent(SDL_APP_WILLENTERFOREGROUND);
|
SDL_SendAppEvent(SDL_APP_WILLENTERFOREGROUND);
|
||||||
SDL_SendAppEvent(SDL_APP_DIDENTERFOREGROUND);
|
SDL_SendAppEvent(SDL_APP_DIDENTERFOREGROUND);
|
||||||
SDL_SendWindowEvent(Android_Window, SDL_WINDOWEVENT_FOCUS_GAINED, 0, 0);
|
SDL_SendWindowEvent(Android_Window, SDL_WINDOWEVENT_FOCUS_GAINED, 0, 0);
|
||||||
|
|
|
@ -107,6 +107,12 @@ Android_PumpEvents(_THIS)
|
||||||
android_egl_context_restore(Android_Window);
|
android_egl_context_restore(Android_Window);
|
||||||
SDL_UnlockMutex(Android_ActivityMutex);
|
SDL_UnlockMutex(Android_ActivityMutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Make sure SW Keyboard is restored when an app becomes foreground */
|
||||||
|
if (SDL_IsTextInputActive()) {
|
||||||
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
|
Android_StartTextInput(_this); /* Only showTextInput */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (isPausing || SDL_SemTryWait(Android_PauseSem) == 0) {
|
if (isPausing || SDL_SemTryWait(Android_PauseSem) == 0) {
|
||||||
|
@ -144,6 +150,12 @@ Android_PumpEvents(_THIS)
|
||||||
android_egl_context_restore(Android_Window);
|
android_egl_context_restore(Android_Window);
|
||||||
SDL_UnlockMutex(Android_ActivityMutex);
|
SDL_UnlockMutex(Android_ActivityMutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Make sure SW Keyboard is restored when an app becomes foreground */
|
||||||
|
if (SDL_IsTextInputActive()) {
|
||||||
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
|
Android_StartTextInput(_this); /* Only showTextInput */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (SDL_SemTryWait(Android_PauseSem) == 0) {
|
if (SDL_SemTryWait(Android_PauseSem) == 0) {
|
||||||
|
|
Loading…
Reference in New Issue