瀏覽代碼

Fixed SDL_RunOnMainThread() on Android

If the application is waiting in SDL_WaitEvent(), we still need to run event loop maintenance in between calls to Android_PumpEvents().

Fixes the testautomation events_mainThreadCallbacks() test on Android.
Sam Lantinga 2 月之前
父節點
當前提交
bae34c3e34
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      src/events/SDL_events.c

+ 2 - 0
src/events/SDL_events.c

@@ -1676,6 +1676,8 @@ bool SDL_WaitEventTimeoutNS(SDL_Event *event, Sint64 timeoutNS)
 
 
 #ifdef SDL_PLATFORM_ANDROID
 #ifdef SDL_PLATFORM_ANDROID
     for (;;) {
     for (;;) {
+        SDL_PumpEventsInternal(true);
+
         if (SDL_PeepEvents(event, 1, SDL_GETEVENT, SDL_EVENT_FIRST, SDL_EVENT_LAST) > 0) {
         if (SDL_PeepEvents(event, 1, SDL_GETEVENT, SDL_EVENT_FIRST, SDL_EVENT_LAST) > 0) {
             return true;
             return true;
         }
         }