From 2592e6219b644035eb68d466f5e044f42627873a Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Thu, 6 Jan 2022 13:30:26 -0800
Subject: [PATCH] Clarify that timeout == 0 is handled at the top of
SDL_WaitEventTimeout()
---
src/events/SDL_events.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/events/SDL_events.c b/src/events/SDL_events.c
index 65415d0f355..f5ead49a3b7 100644
--- a/src/events/SDL_events.c
+++ b/src/events/SDL_events.c
@@ -974,8 +974,7 @@ SDL_WaitEventTimeout(SDL_Event * event, int timeout)
{
SDL_VideoDevice *_this = SDL_GetVideoDevice();
SDL_Window *wakeup_window;
- Uint32 start = 0;
- Uint32 expiration = 0;
+ Uint32 start, expiration;
SDL_bool include_sentinel = (timeout == 0) ? SDL_TRUE : SDL_FALSE;
/* If there isn't a poll sentinel event pending, pump events and add one */
@@ -1006,10 +1005,15 @@ SDL_WaitEventTimeout(SDL_Event * event, int timeout)
/* Has existing events */
return 1;
}
+ /* We should have completely handled timeout == 0 above */
+ SDL_assert(timeout != 0);
if (timeout > 0) {
start = SDL_GetTicks();
expiration = start + timeout;
+ } else {
+ start = 0;
+ expiration = 0;
}
if (_this && _this->WaitEventTimeout && _this->SendWakeupEvent && !SDL_events_need_polling()) {