Просмотр исходного кода

Fixed bug #14233 - Android fix Android_WaitActiveAndLockActivity() to make sure Android_Paused state is refreshed

Sylvain 1 неделя назад
Родитель
Сommit
e4c60c05bf
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      src/video/android/SDL_androidevents.c

+ 6 - 0
src/video/android/SDL_androidevents.c

@@ -243,6 +243,12 @@ void Android_PumpEvents(Sint64 timeoutNS)
 
 
 bool Android_WaitActiveAndLockActivity(void)
 bool Android_WaitActiveAndLockActivity(void)
 {
 {
+    /* Make sure we have pumped all events so that Android_Paused state is correct */
+    SDL_AndroidLifecycleEvent event;
+    while (!Android_Destroyed && Android_WaitLifecycleEvent(&event, 0)) {
+        Android_HandleLifecycleEvent(event);
+    }
+
     while (Android_Paused && !Android_Destroyed) {
     while (Android_Paused && !Android_Destroyed) {
         Android_PumpEvents(-1);
         Android_PumpEvents(-1);
     }
     }