Package: libsdl3 / 3.3.2+ds-1

Metadata

Package Version Patches format
libsdl3 3.3.2+ds-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
events Pump DBus messages in the main event loop.patch | (download)

src/events/SDL_events.c | 16 16 + 0 - 0 !
src/video/wayland/SDL_waylandevents.c | 4 0 + 4 - 0 !
src/video/x11/SDL_x11events.c | 8 0 + 8 - 0 !
3 files changed, 16 insertions(+), 12 deletions(-)

 events: pump dbus messages in the main event loop

DBus does not require a video backend, and DBus messages still need to be processed even when a video backend is not initialized. Move the DBus pump call to the main event message pump function so that DBus events are still dispatched, even when a video backend has not been initialized.

Define SDL_FILE as __FILE_NAME__ if available.patch | (download)

include/SDL3/SDL_assert.h | 18 13 + 5 - 0 !
1 file changed, 13 insertions(+), 5 deletions(-)

 define sdl_file as __file_name__, if available

wayland Remove unused struct member.patch | (download)

src/video/wayland/SDL_waylandvideo.h | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 wayland: remove unused struct member

wayland Synthesize repeated keys after processing events.patch | (download)

src/video/wayland/SDL_waylandevents.c | 22 12 + 10 - 0 !
1 file changed, 12 insertions(+), 10 deletions(-)

 wayland: synthesize repeated keys after processing events

Otherwise, long delays between pumping events can result in repeating keys that were already lifted some time ago.

miniz.h fix PNG compression when pitch w.patch | (download)

src/video/miniz.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 miniz.h: fix png compression when pitch != w

Fix uninitialized length in X11_GetClipboardData causing .patch | (download)

src/video/x11/SDL_x11clipboard.c | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 fix uninitialized length in x11_getclipboarddata causing test
 failures (#14322)

miniz.h do not overallocate out_buf.patch | (download)

src/video/miniz.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 miniz.h: do not overallocate `out_buf`

wayland Destroy the seats before stopping the cursor surf.patch | (download)

src/video/wayland/SDL_waylandvideo.c | 7 3 + 4 - 0 !
1 file changed, 3 insertions(+), 4 deletions(-)

 wayland: destroy the seats before stopping the cursor surface event
 thread

Stopping the thread also destroys the queue used by pointer surfaces, and if any seats still have a surface associated with the queue at that time, it will cause a libwayland warning. Destroying the seats first ensures that all surfaces associated with the thread queue are destroyed before the queue is destroyed.

wikiheaders Don t ignore macro symbols that are defined w.patch | (download)

build-scripts/wikiheaders.pl | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 wikiheaders: don't ignore macro symbols that are defined without any
 content.

Reference PR #12676.

Sync SDL3 wiki header.patch | (download)

include/SDL3/SDL_intrin.h | 1 1 + 0 - 0 !
include/SDL3/SDL_main.h | 10 6 + 4 - 0 !
2 files changed, 7 insertions(+), 4 deletions(-)

 sync sdl3 wiki -> header

[ci skip]

Perform full rectangle intersection for empty rects.patch | (download)

src/video/SDL_rect_impl.h | 10 0 + 10 - 0 !
1 file changed, 10 deletions(-)

 perform full rectangle intersection for empty rects

If we don't do that, we leave the x and y values uninitialized.

Bug: https://github.com/libsdl-org/sdl12-compat/issues/365
Log object leaks at debug level.patch | (download)

src/SDL_utils.c | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 log object leaks at debug level

End users don't care about this. Developers can enable debug logs, run with DEBUG_INVOCATION=1, or use other leak checking tools to detect these.

Use cast operators in headers to avoid warnings.patch | (download)

include/SDL3/SDL_events.h | 2 1 + 1 - 0 !
include/SDL3/SDL_rect.h | 8 4 + 4 - 0 !
include/SDL3/SDL_stdinc.h | 8 4 + 4 - 0 !
3 files changed, 9 insertions(+), 9 deletions(-)

 use cast operators in headers to avoid warnings

This avoids compiler warnings when consuming the
headers from C++.

Fix NULL pointer dereference in SDL_RenderGeometryRaw wit.patch | (download)

src/render/SDL_render.c | 74 37 + 37 - 0 !
1 file changed, 37 insertions(+), 37 deletions(-)

 fix null pointer dereference in sdl_rendergeometryraw with npot
 textures (thanks @bleeqer!)

Bug: https://github.com/libsdl-org/SDL/issues/14329
Closes: https://github.com/libsdl-org/SDL/pull/14331
cmake SDL_process on unix needs vfork symbol.patch | (download)

CMakeLists.txt | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 cmake: sdl_process on unix needs vfork symbol

Current FIL-C toolchains don't have vfork

cmake make sure VARIABLE of check_linker_supports_version.patch | (download)

cmake/PreseedEmscriptenCache.cmake | 2 1 + 1 - 0 !
cmake/PreseedNokiaNGageCache.cmake | 2 1 + 1 - 0 !
cmake/macros.cmake | 6 3 + 3 - 0 !
3 files changed, 5 insertions(+), 5 deletions(-)

 cmake: make sure variable of check_linker_supports_version_file ends
 up in cache

test Set a much longer timeout for testatomic on GNU Hurd.patch | (download)

test/CMakeLists.txt | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 test: set a much longer timeout for testatomic on gnu/hurd

The `FIFO test` part of this test-case exercises not only atomic
operations, but also multi-threading more generally, because it has
multiple threads that artificially cause lock contention. libpthread
on the Hurd is mostly implemented in user-space without kernel assistance,
its kernel and user-space are not well-optimized, and Hurd on i386 in
particular only supports one CPU core, so this can be very slow.

Tested-by: Pino Toscano