Make sure that we quit if we get a terminating event

This covers the case where the application didn't handle the quit or terminating event, we still need the main loop to finish.
This commit is contained in:
Sam Lantinga 2024-10-17 16:38:07 -07:00
parent c5e1ae4580
commit a432abf4cc

View File

@ -75,6 +75,11 @@ static bool SDLCALL SDL_MainCallbackEventWatcher(void *userdata, SDL_Event *even
// Make sure any currently queued events are processed then dispatch this before continuing
SDL_DispatchMainCallbackEvents();
SDL_DispatchMainCallbackEvent(event);
// Make sure that we quit if we get a terminating event
if (event->type == SDL_EVENT_TERMINATING) {
SDL_CompareAndSwapAtomicInt(&apprc, SDL_APP_CONTINUE, SDL_APP_SUCCESS);
}
} else {
// We'll process this event later from the main event queue
}