Sam Lantinga
1502c2fd8b
Added support for the Flydigi Apex 5 controller ( #14218 )
2025-10-30 21:20:44 -07:00
Arkadiusz Hiler
0d2f081d41
pulseaudio: Match channel map to SDL's chosen order
...
pa_channel_map_init_auto() with PA_CHANNEL_MAP_WAVEEX does the wrong
thing as it just takes the lest significant bits of
WAVEFORMATEXTENSIBLE's dwChannelMask in order. This doesn't match SDL's
chosen channel ordering.
The implementation here mirrors what we do for PipeWire.
2025-10-30 13:32:43 -07:00
Sam Lantinga
c21b7f8cb8
Check to see if joysticks are actually initialized in SDL_UpdateJoysticks()
...
Fixes https://github.com/libsdl-org/SDL/issues/14362
2025-10-30 08:53:57 -07:00
Sam Lantinga
a7147f327f
Temporarily disable WASAPI device roles
...
Setting AudioCategory_GameChat breaks audio on several devices, including Behringer U-PHORIA UM2 and RODE NT-USB Mini. We'll disable this for now until we understand more about what's happening.
2025-10-30 07:27:23 -07:00
Simon McVittie
8b64dd67d2
wayland: Fix compile with libdecor 0.2 and SDL_WAYLAND_LIBDECOR_SHARED=OFF
...
libdecor 0.3, which changes the signature of libdecor_new and
libdecor_decorate to use a const pointer to the interface struct, has
not yet been released. In the latest release, libdecor 0.2.4, the
interface struct is a mutable pointer.
This doesn't affect typical upstream builds with
SDL_WAYLAND_LIBDECOR_SHARED=ON, in which case we're casting a pointer
returned by dlsym(); but Linux distributions that want tighter control
over dependencies often prefer to link them in the normal way, in which
case the build will fail if the signature doesn't match.
Fixes: 33834360 "wayland: Fix libdecor incompatible pointer types"
Signed-off-by: Simon McVittie <smcv@collabora.com >
2025-10-30 07:13:37 -07:00
Sam Lantinga
d9ca0457b5
Make sure we don't allocate a TLS ID clobbering an application defined one
...
Fixes https://github.com/libsdl-org/SDL/issues/14359
2025-10-29 14:05:49 -07:00
Kirill Andriiashin
a76fb7b2fb
Add support for GPU RGB565 (B5G6R5_UNORM) textures with DX11 ( #14358 )
2025-10-29 10:39:58 -07:00
Quentin Thébault
3b80fcd1a0
KMSDRM/EVDEV: add VT switching support for FreeBSD ( #14346 )
...
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr >
2025-10-29 09:52:32 -07:00
Sam Lantinga
8b8c51573b
Disabled incorrect 16-bit Altivec blitters
2025-10-29 16:11:25 +00:00
Sam Lantinga
84fac6ca44
testautomation: verify that RLE operation output is correct
2025-10-29 09:07:56 -07:00
Sam Lantinga
bf0752a8d7
Fixed converting RLE encoded surfaces to other formats
2025-10-29 09:06:25 -07:00
Sam Lantinga
c4cef905ae
Updated internal documentation
2025-10-29 08:39:56 -07:00
Sam Lantinga
cecf4b0d4e
Fixed the right shoulder button on the 8BitDo Pro 3
2025-10-28 14:55:06 -07:00
Sam Lantinga
78f9cb44c3
Added a Linux mapping for the 8BitDo Pro 3
2025-10-28 14:13:40 -07:00
Frank Praznik
3383436068
wayland: Fix libdecor incompatible pointer types
2025-10-28 12:01:41 -04:00
Sam Lantinga
2d14a237dc
Fixed trying to grab the mouse when losing keyboard focus
...
Fixes https://github.com/libsdl-org/SDL/issues/14350
2025-10-28 07:15:43 -07:00
Sam Lantinga
933beeb18b
Fixed warning: no previous extern declaration for non-static variable
2025-10-27 17:52:05 -07:00
Sam Lantinga
965ac7f406
Fixed warning: implicit conversion loses integer precision: 'long' to 'int'
2025-10-27 17:49:49 -07:00
Sam Lantinga
90242312fe
Restored the original OpenBSD Xbox 360 controller mapping
2025-10-27 17:39:29 -07:00
Sam Lantinga
b305534edc
Completed removing predefined Xbox 360 mappings for Linux
...
Also removed them for OpenBSD, since it's not clear which ones, if any, are needed.
2025-10-27 17:34:23 -07:00
Sam Lantinga
be1d44279c
Fixed error: incompatible function pointer types passing
...
SDL/src/sensor/emscripten/SDL_emscriptensensor.c:80:5: error: incompatible function pointer types passing
'int (*)(int, const EmscriptenDeviceMotionEvent *, void *)' (aka 'int (*)(int, const struct EmscriptenDeviceMotionEvent *, void *)') to parameter of type 'em_devicemotion_callback_func' (aka
'bool (*)(int, const struct EmscriptenDeviceMotionEvent *, void *)') [-Wincompatible-function-pointer-types]
80 | emscripten_set_devicemotion_callback((void *)0, false, &SDL_EMSCRIPTEN_SensorCallback);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-10-27 10:13:57 -07:00
Dave Wickham
f6c3af9c8c
Re-add deleted gamepad mappings to the OpenBSD-specific section
2025-10-27 08:55:03 -07:00
Dave Wickham
0c4c4cfd16
Remove special-case Xbox 360 wireless controller mappings
...
Fixes https://github.com/libsdl-org/SDL/issues/14324
2025-10-27 08:55:03 -07:00
Eddy Jansson
f773da2273
log: Rework NGAGE logging. ( #14321 )
...
This moves the NGAGE file logging into SDL_LogOutput(), following the pattern of the 3DS, VITA, PSP, etc.
2025-10-27 08:48:04 -07:00
expikr
b4eaf9d96f
Add hint for blocking win key when using raw keyboard ( #13066 )
...
Co-authored-by: Susko3 <Susko3@protonmail.com >
2025-10-26 09:27:33 -07:00
Sam Lantinga
0ea20a5f86
Fix NULL pointer dereference in SDL_RenderGeometryRaw with NPOT textures (thanks @bleeqer!)
...
Fixes https://github.com/libsdl-org/SDL/issues/14329
Closes https://github.com/libsdl-org/SDL/pull/14331
2025-10-26 08:10:52 -07:00
antonegas
33f1008d01
Added Emscripten support for Sensor API
2025-10-26 07:58:28 -07:00
Sam Lantinga
e08edab180
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.
2025-10-25 15:13:37 -07:00
Sam Lantinga
ffd0ca4391
Perform full rectangle intersection for empty rects
...
If we don't do that, we leave the x and y values uninitialized.
Fixes https://github.com/libsdl-org/sdl12-compat/issues/365
2025-10-25 13:48:48 -07:00
Frank Praznik
acaf53926c
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.
2025-10-25 12:54:20 -04:00
Gleb Mazovetskiy
38df1c3138
miniz.h: do not overallocate out_buf
2025-10-25 07:44:15 -07:00
DONGGEUN YOO
093fbfd867
Fix uninitialized length in X11_GetClipboardData causing test failures ( #14322 )
2025-10-25 07:41:58 -07:00
Gleb Mazovetskiy
ac0915bdb5
miniz.h: fix PNG compression when pitch != w
2025-10-25 01:24:14 -07:00
Frank Praznik
537e92b158
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.
2025-10-24 15:51:01 -04:00
Sam Lantinga
51b401d418
Fixed OTP text entry on iOS (thanks @pipiwoaini!)
...
Fixes https://github.com/libsdl-org/SDL/issues/13717
2025-10-24 11:02:37 -07:00
Sam Lantinga
404ec13fbb
Fixed building with libusb on FreeBSD
2025-10-24 10:41:08 -07:00
Frank Praznik
3149533f0c
wayland: Remove unused struct member
2025-10-24 13:37:20 -04:00
Sam Lantinga
d2c6aeea7d
Add the bundle framework path to the libMoltenVK.dylib paths
...
Fixes https://github.com/libsdl-org/SDL/issues/14313
2025-10-24 10:33:22 -07:00
Dmitry Marakasov
42ce72be3c
Fix libusb get_port_numbers signature for FreeBSD
2025-10-24 08:26:17 -07:00
Sam Lantinga
be781fc8f5
Updated to version 3.3.3 for development
2025-10-23 22:41:03 -07:00
Frank Praznik
39aedcef64
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.
2025-10-23 21:03:09 -04:00
Sam Lantinga
b31c4b70b3
Updated version and documentation for 3.3.2 preview release
2025-10-23 15:20:26 -07:00
Sam Lantinga
1fa6475c90
Added support for saving indexed PNG images
...
Fixes https://github.com/libsdl-org/SDL/issues/14303
2025-10-23 12:40:41 -07:00
Ozkan Sezer
02c4478f93
SDL_ConvertSurface: clear sdl2-compat.surface2 on the converted surface
...
Fixes https://github.com/libsdl-org/sdl2-compat/issues/534
2025-10-23 08:24:23 +03:00
Sam Lantinga
e18d63a4e2
Added SDL_RotateSurface()
...
Fixes https://github.com/libsdl-org/SDL/issues/14269
2025-10-22 17:55:02 -07:00
Sam Lantinga
a402af506c
Removed SDL_FILE from source code
2025-10-22 10:52:18 -07:00
Sam Lantinga
f79ede100b
Removed __FILE__ from source code
2025-10-22 10:48:36 -07:00
Sam Lantinga
999f782ad3
Be more selective when blacklisting controller touchpads
...
On Android, the PS4 controller is called "Wireless Controller Touchpad"
Fixes https://github.com/libsdl-org/SDL/issues/14294
2025-10-22 10:44:08 -07:00
Sam Lantinga
e58648d592
Removed call to ID3D11DeviceContext1_DiscardView() (thanks @pipiwoaini!)
...
This is unnecessary and can cause issues after a resize or device removal.
Fixes https://github.com/libsdl-org/SDL/issues/14283
2025-10-21 13:01:30 -07:00
Ryan C. Gordon
2056c54548
kmsdrm: Allow windows to be marked as "unfocusable".
...
In this case, it means a newly-created window on a specific display won't
get mouse/keyboard input (which, presumably, will continue to go to a window
on a different physical display instead).
This also makes SDL_SetWindowFocusable() functional on the kmsdrm backend, to
change this flag later, but to be clear, there are no window focus events to
jump between displays in this backend, so this is only useful to manually
tweak things later.
Fixes #14289 .
2025-10-21 14:10:49 -04:00