From f26af133813e3aea84e8608ad59f07c8c6a34e8e Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 1 Sep 2026 15:36:38 -0700
Subject: [PATCH] Main callbacks should be processed even if events are already
pending in SDL_WaitEvent()
Fixes https://github.com/libsdl-org/SDL/issues/15485
(cherry picked from commit 757400e0446d554113c9a1335ee29051f8970cef)
---
src/events/SDL_events.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/events/SDL_events.c b/src/events/SDL_events.c
index a8ac576bc449d..06f1053cf6eb9 100644
--- a/src/events/SDL_events.c
+++ b/src/events/SDL_events.c
@@ -1726,6 +1726,10 @@ bool SDL_WaitEventTimeoutNS(SDL_Event *event, Sint64 timeoutNS)
}
} else {
// Has existing events
+ if (!event) {
+ // The application expects callbacks to run even if events are pending
+ SDL_RunMainThreadCallbacks();
+ }
return true;
}
// We should have completely handled timeoutNS == 0 above