Simple DirectMedia Layer https://libsdl.org
Find a file
Sam Lantinga 48e213b4cd Fixed SDL_ShouldQuit() returning false during status transitions
We should wait for the state to stabilize before SDL_ShouldQuit() returns.

For example:
Thread A initializes and increments a use refcount
Thread B skips initializing and increments the use refcount
Thread B starts cleaning up and checks the use refcount
Thread A starts cleaning up, returns because SDL_ShouldQuit() returns false (not initialized), not touching the use refcount
Thread B returns because the use refcount isn't zero

Now we have the state where the refcount is greater than one and both thread A and B have attempted to cleanup.

With this change:
Thread A initializes and increments a use refcount
Thread B skips initializing and increments the use refcount
Thread B starts cleaning up and decrements and checks the use refcount
Thread A starts cleaning up, waits for thread B
Thread B returns because the use refcount isn't zero
Thread A continues and decrements and checks the use refcount, and finishes cleaning up because it has reached 0.
2024-09-26 18:08:58 -07:00
.github ci: Fix check_stdlib_usage.py and run on ci 2024-09-25 23:59:35 +02:00
android-project Update proguard-rules.pro in-line with commit 9ff3446 2024-09-16 08:47:44 -07:00
build-scripts ci: Fix check_stdlib_usage.py and run on ci 2024-09-25 23:59:35 +02:00
cmake cmake: don't prepend absolute CMAKE_INSTALL_{INCLUDE,LIB}DIR with ${prefix} 2024-09-14 16:21:42 +02:00
docs README-migration: note that logical presentation state is different from SDL2. 2024-09-26 18:49:29 -04:00
examples examples: No need to explicitly seed the RNG at startup. 2024-09-26 15:01:04 -04:00
include Sync SDL3 wiki -> header 2024-09-26 23:29:38 +00:00
src Fixed SDL_ShouldQuit() returning false during status transitions 2024-09-26 18:08:58 -07:00
test A zero source rect is valid for blitting 2024-09-25 22:36:55 -07:00
VisualC Added support for the HORI licensed Steam Controller 2024-09-18 14:08:32 -07:00
VisualC-GDK Added support for the HORI licensed Steam Controller 2024-09-18 14:08:32 -07:00
wayland-protocols wayland: Add support for setting window icons via the xdg-toplevel-icon-v1 protocol 2024-08-31 09:38:43 -04:00
Xcode compile_shaders.sh shouldn't be in the SDL framework 2024-09-18 14:31:00 -07:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Add the SDL_GPU API 2024-08-29 15:57:29 -07:00
.wikiheaders-options wikiheaders: bridge wiki Category docs to the headers! 2024-05-16 11:48:23 -04:00
Android.mk Add SDL_Process subsystem 2024-09-13 15:19:32 -07:00
BUGS.txt
CMakeLists.txt Add SDL_Process subsystem 2024-09-13 15:19:32 -07:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md Updated INSTALL.md 2024-04-10 09:18:42 -04:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt
README.md Tweaking documentation for the SDL 3.0 preview release 2024-03-24 06:16:02 -07:00
WhatsNew.txt audio: Refer to audio devices to "playback" and "recording". 2024-06-15 01:08:12 -04:00

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)