Clean up thread local storage when quitting SDL

SDL_Quit() should be the last SDL API that you call before exiting your application, and is intended to clean up all internal state.

If real-life applications are relying on thread-local storage after SDL_Quit() we could potentially add a hint to control this behavior.

Fixes https://github.com/libsdl-org/SDL/issues/6200
This commit is contained in:
Sam Lantinga 2022-09-08 20:08:20 -07:00
parent a3900a751e
commit 9f4baeea53
1 changed files with 2 additions and 0 deletions

View File

@ -505,6 +505,8 @@ SDL_Quit(void)
*/ */
SDL_memset( SDL_SubsystemRefCount, 0x0, sizeof(SDL_SubsystemRefCount) ); SDL_memset( SDL_SubsystemRefCount, 0x0, sizeof(SDL_SubsystemRefCount) );
SDL_TLSCleanup();
SDL_bInMainQuit = SDL_FALSE; SDL_bInMainQuit = SDL_FALSE;
} }