mirror of https://github.com/encounter/SDL.git
Android: same way as in nativePause(), resume events are sent from SDL thread
This commit is contained in:
parent
45a9b5fa2e
commit
d004cc7050
|
@ -1173,23 +1173,13 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativePause)(
|
||||||
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeResume)(
|
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeResume)(
|
||||||
JNIEnv *env, jclass cls)
|
JNIEnv *env, jclass cls)
|
||||||
{
|
{
|
||||||
SDL_LockMutex(Android_ActivityMutex);
|
|
||||||
|
|
||||||
__android_log_print(ANDROID_LOG_VERBOSE, "SDL", "nativeResume()");
|
__android_log_print(ANDROID_LOG_VERBOSE, "SDL", "nativeResume()");
|
||||||
|
|
||||||
if (Android_Window) {
|
|
||||||
SDL_SendAppEvent(SDL_APP_WILLENTERFOREGROUND);
|
|
||||||
SDL_SendAppEvent(SDL_APP_DIDENTERFOREGROUND);
|
|
||||||
SDL_SendWindowEvent(Android_Window, SDL_WINDOWEVENT_RESTORED, 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Signal the resume semaphore so the event loop knows to resume and restore the GL Context
|
/* Signal the resume semaphore so the event loop knows to resume and restore the GL Context
|
||||||
* We can't restore the GL Context here because it needs to be done on the SDL main thread
|
* We can't restore the GL Context here because it needs to be done on the SDL main thread
|
||||||
* and this function will be called from the Java thread instead.
|
* and this function will be called from the Java thread instead.
|
||||||
*/
|
*/
|
||||||
SDL_SemPost(Android_ResumeSem);
|
SDL_SemPost(Android_ResumeSem);
|
||||||
|
|
||||||
SDL_UnlockMutex(Android_ActivityMutex);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeFocusChanged)(
|
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeFocusChanged)(
|
||||||
|
|
|
@ -113,6 +113,11 @@ Android_PumpEvents_Blocking(_THIS)
|
||||||
|
|
||||||
videodata->isPaused = 0;
|
videodata->isPaused = 0;
|
||||||
|
|
||||||
|
/* Android_ResumeSem was signaled */
|
||||||
|
SDL_SendAppEvent(SDL_APP_WILLENTERFOREGROUND);
|
||||||
|
SDL_SendAppEvent(SDL_APP_DIDENTERFOREGROUND);
|
||||||
|
SDL_SendWindowEvent(Android_Window, SDL_WINDOWEVENT_RESTORED, 0, 0);
|
||||||
|
|
||||||
ANDROIDAUDIO_ResumeDevices();
|
ANDROIDAUDIO_ResumeDevices();
|
||||||
openslES_ResumeDevices();
|
openslES_ResumeDevices();
|
||||||
|
|
||||||
|
@ -179,6 +184,11 @@ Android_PumpEvents_NonBlocking(_THIS)
|
||||||
|
|
||||||
videodata->isPaused = 0;
|
videodata->isPaused = 0;
|
||||||
|
|
||||||
|
/* Android_ResumeSem was signaled */
|
||||||
|
SDL_SendAppEvent(SDL_APP_WILLENTERFOREGROUND);
|
||||||
|
SDL_SendAppEvent(SDL_APP_DIDENTERFOREGROUND);
|
||||||
|
SDL_SendWindowEvent(Android_Window, SDL_WINDOWEVENT_RESTORED, 0, 0);
|
||||||
|
|
||||||
ANDROIDAUDIO_ResumeDevices();
|
ANDROIDAUDIO_ResumeDevices();
|
||||||
openslES_ResumeDevices();
|
openslES_ResumeDevices();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue