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()");
|
||||
|
||||
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_DIDENTERFOREGROUND);
|
||||
SDL_SendWindowEvent(Android_Window, SDL_WINDOWEVENT_FOCUS_GAINED, 0, 0);
|
||||
|
|
|
@ -107,6 +107,12 @@ Android_PumpEvents(_THIS)
|
|||
android_egl_context_restore(Android_Window);
|
||||
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 {
|
||||
if (isPausing || SDL_SemTryWait(Android_PauseSem) == 0) {
|
||||
|
@ -144,6 +150,12 @@ Android_PumpEvents(_THIS)
|
|||
android_egl_context_restore(Android_Window);
|
||||
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 {
|
||||
if (SDL_SemTryWait(Android_PauseSem) == 0) {
|
||||
|
|
Loading…
Reference in New Issue