diff --git a/src/SDL.c b/src/SDL.c index 7814ad2062467..2957787244963 100644 --- a/src/SDL.c +++ b/src/SDL.c @@ -559,6 +559,8 @@ void SDL_Quit(void) */ SDL_memset(SDL_SubsystemRefCount, 0x0, sizeof(SDL_SubsystemRefCount)); + SDL_FlushEventMemory(0); + SDL_CleanupTLS(); SDL_FreeEnvironmentMemory(); diff --git a/src/events/SDL_events.c b/src/events/SDL_events.c index 20a5aa97da08e..069c8248e2c20 100644 --- a/src/events/SDL_events.c +++ b/src/events/SDL_events.c @@ -143,7 +143,7 @@ const char *SDL_AllocateEventString(const char *string) return NULL; } -static void SDL_FlushEventMemory(Uint32 eventID) +void SDL_FlushEventMemory(Uint32 eventID) { SDL_LockMutex(SDL_event_memory_lock); { diff --git a/src/events/SDL_events_c.h b/src/events/SDL_events_c.h index 778af32cadbf0..cc544733c60ed 100644 --- a/src/events/SDL_events_c.h +++ b/src/events/SDL_events_c.h @@ -38,6 +38,7 @@ /* Start and stop the event processing loop */ extern int SDL_StartEventLoop(void); extern void SDL_StopEventLoop(void); +extern void SDL_FlushEventMemory(Uint32 eventID); extern void SDL_QuitInterrupt(void); extern const char *SDL_AllocateEventString(const char *string);