Commit Graph

11845 Commits

Author SHA1 Message Date
Toast
13373ef501 Added Keychron V5 System Control to the controller blacklist
(cherry picked from commit 1dea7c801b)
2025-12-03 07:15:22 -08:00
Sam Lantinga
a7de0d9a3e Updated to version 3.2.29 for development 2025-12-02 13:02:25 -08:00
Sam Lantinga
7f3ae3d574 Updated to version 3.2.28 for release 2025-12-02 07:47:05 -08:00
Cameron Gutman
80f82acdf8 quit: don't call signal() if we're using sigaction()
At best, this is a no-op.

At worst, it might:
 - Clobber a signal handler someone registered after us
 - Overwrite the signal mask or flags
 - Cause unregistration to fail (sigaction() isn't guaranteed to return the exact pointer passed to signal())

(cherry picked from commit 6d99204a82)
2025-12-01 19:47:32 -06:00
Sam Lantinga
78146bb14c Correct the sensor axis ordering with the Linux Nintendo driver
Fixes https://github.com/libsdl-org/SDL/issues/14552

(cherry picked from commit 5e9163592f)
2025-11-30 11:37:34 -08:00
Amelia Clarke
c61f97dbce events: fix SDL_PeepEvents() returning 0 on error
Signed-off-by: Amelia Clarke <selene@perilune.dev>
(cherry picked from commit defd7895da)
2025-11-28 07:42:09 -08:00
Anonymous Maarten
f8252fcc91 JNI_Unload must return the JNI version needed by the native library
(cherry picked from commit eda8d1d842)
2025-11-26 14:05:37 +01:00
Ryan C. Gordon
98ed8b98b1 blit: Check MSVC's _M_ARM64 define in addition to __aarch64__.
Reference Issue #14519.

(cherry picked from commit 4e79d2ad64)
2025-11-25 14:41:57 -08:00
Ryan C. Gordon
5f5a73a8f6 blit: Check MSVC's _M_ARM64 define in addition to __aarch64__.
Reference Issue #14519.

(cherry picked from commit 7f0d0d0046)
2025-11-25 14:41:49 -08:00
Ryan C. Gordon
50be2a7e56 blit: Change ifdefs on NEON functions that use an aarch64-specific opcode.
Fixes #14519.

(cherry picked from commit 15f98b2a61)
2025-11-25 14:41:07 -08:00
Ethan Lee
4fdbac7207 video: Explicitly call DestroyWindowTexture when destroying a window.
This prevents some recursion issues with hashtables, as described in #14499.
2025-11-24 01:25:38 -05:00
Sam Lantinga
8199076878 vulkan gpu: set the sample count for depth prepass
Fixes https://github.com/libsdl-org/SDL/issues/14500

(cherry picked from commit 1fc093491a)
2025-11-22 07:54:21 -08:00
Susko3
c49de41ef3 Fix WM_SYSKEYDOWN not being trapped by IME message handling
This would cause Alt + <something> not being trapped if handled by the system IME.

(cherry picked from commit 2ef005afe5)
2025-11-19 13:40:19 -08:00
Sam Lantinga
ad5681c45b Fixed crash in the vulkan renderer when the window is minimized
There's more work to do here in other cases where we can't recreate the swap chain, but this fixes the common minimize case.

Fixes https://github.com/libsdl-org/SDL/issues/14434

(cherry picked from commit 0ae3d7b0b0)
2025-11-14 12:35:42 -08:00
Sam Lantinga
daf76f1ff6 Restored the original OpenBSD Xbox 360 controller mapping
(cherry picked from commit 90242312fe)
2025-11-14 07:20:17 -08:00
Sam Lantinga
cdff4b2bb5 Completed removing predefined Xbox 360 mappings for Linux
Also removed them for OpenBSD, since it's not clear which ones, if any, are needed.

(cherry picked from commit b305534edc)
2025-11-14 07:20:17 -08:00
Dave Wickham
d3a1a97db8 Re-add deleted gamepad mappings to the OpenBSD-specific section
(cherry picked from commit f6c3af9c8c)
2025-11-14 07:20:16 -08:00
Dave Wickham
962464629d Remove special-case Xbox 360 wireless controller mappings
Fixes https://github.com/libsdl-org/SDL/issues/14324

(cherry picked from commit 0c4c4cfd16)
2025-11-14 07:20:16 -08:00
Sam Lantinga
3291c2e560 Check for wine_get_version() to detect Wine/Proton
If this application is being run under Wine but Steam doesn't know that, Steam won't set STEAM_COMPAT_PROTON. So we'll use wine_get_version() to detect that we're running under Wine instead.

(cherry picked from commit e2e8f86076)
2025-11-12 22:30:48 -08:00
Sam Lantinga
b797a84b5d Don't check SteamVirtualGamepadInfo when running as Wine
Wine will ignore the Steam Virtual Gamepad if it looks like it has the original (blocked) controller VID/PID.

Fixes https://github.com/libsdl-org/SDL/issues/14410

(cherry picked from commit 493bc621e4)
2025-11-12 22:30:48 -08:00
Marcin Serwin
45b0460019 Don't divide by zero in slow blitter
Other blitters seem to handle zero width/height destinations correctly.

Signed-off-by: Marcin Serwin <marcin@serwin.dev>
(cherry picked from commit 53ee410d7a)
2025-11-09 07:26:37 -08:00
Chris Genova
5d0919855e D3D12 GPU: Prevent reading out of bounds when uploading textures.
When the upload needs realignment, a new buffer is created to do the
upload, and the source data is copied to the new buffer. This commit
fixes the issue where the memcopy can read off the end of the source
buffer since it is reading based on destination pitch instead of source
pitch.

(cherry picked from commit 6a01d6e7d3)
2025-11-07 17:50:25 -08:00
Sam Lantinga
6d2d283954 Fixed blitting bitmaps with a non-zero x offset
Also added basic testautomation coverage of bitmap blits

Fixes https://github.com/libsdl-org/sdl2-compat/issues/546

(cherry picked from commit a2ed1a4197)
2025-11-06 22:49:17 -08:00
Frank Praznik
49db06b604 x11: Only correct placement for border offset on the initial window mapping
Correcting it when it is subsequently hidden and re-mapped will cause the position to be double offset by the size of the borders.

(cherry picked from commit a71b2f0a93)
2025-11-06 19:35:51 -05:00
yuanhecai
85012b6074 loongarch: add SDL_FillSurfaceRect4LSX opt
(cherry picked from commit dc5b136930)
2025-11-06 07:29:51 -08:00
yuanhecai
14271c72f3 loongarch: add Blit8888to8888PixelAlphaSwizzleLSX opt
(cherry picked from commit 0b1eb4c841)
2025-11-06 07:29:50 -08:00
Sam Lantinga
d73922e407 Validate SPI read command in the Nintendo Switch HIDAPI driver
(cherry picked from commit c94da8977d)
2025-11-05 17:35:02 -08:00
Sam Lantinga
c8d23a5f01 Fixed unaligned access in the Nintendo Switch HIDAPI driver
(cherry picked from commit 9a1745f2c8)
2025-11-05 17:08:50 -08:00
Yevgen Abramov
4d8c8cdeda Fix V4L2 frame rate numerator comparison in SDL3 camera
Signed-off-by: Yevgen Abramov <eabramov84@gmail.com>
(cherry picked from commit b09b557fc6)
2025-11-05 10:56:25 -08:00
Sam Lantinga
4ae517e24e Removed redundant wait at shutdown in the ALSA audio driver
(cherry picked from commit 97e2951875)
2025-11-02 18:30:35 -08:00
Sam Lantinga
1fd4703907 Save a copy of the D3D12 semantic string
Fixes https://github.com/libsdl-org/SDL/issues/14383

(cherry picked from commit 4db63e323e)
2025-11-02 18:11:23 -08:00
Sam Lantinga
bfe046b60f Clamp the audio drain delay to 100 ms
Fixes https://github.com/libsdl-org/SDL/issues/9829

(cherry picked from commit 0882623092)
2025-11-02 11:16:13 -08:00
Sam Lantinga
1bfa90cb1f Fixed the paddle mapping for Steam Controllers
Fixes https://github.com/libsdl-org/SDL/issues/14380

(cherry picked from commit 3336aa95f1)
2025-11-02 10:07:42 -08:00
bleeqer
0c2e3308a5 Fix NULL pointer dereference in SDL_GlobStorageDirectory
(cherry picked from commit fc6f97f162)
2025-11-02 08:56:14 -08:00
Sam Lantinga
11fc77b704 Fixed the right touchpad calculation for the BLE Steam Controller
Fixes https://github.com/libsdl-org/SDL/issues/14368

(cherry picked from commit eb87a36940)
2025-11-02 08:31:59 -08:00
Arkadiusz Hiler
28af0d58c6 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.

(cherry picked from commit 0d2f081d41)
2025-10-30 13:33:46 -07:00
Sam Lantinga
bca544448f Updated to version 3.2.27 for development 2025-10-30 10:18:08 -07:00
Sam Lantinga
b140291cd0 Updated to version 3.2.26 for release 2025-10-30 09:10:42 -07:00
Sam Lantinga
70b12c1b1b Check to see if joysticks are actually initialized in SDL_UpdateJoysticks()
Fixes https://github.com/libsdl-org/SDL/issues/14362

(cherry picked from commit c21b7f8cb8)
2025-10-30 08:54:53 -07:00
Simon McVittie
2bbd74b4b6 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>
(cherry picked from commit 8b64dd67d2)
2025-10-30 07:14:49 -07:00
Sam Lantinga
add176e538 Make sure we don't allocate a TLS ID clobbering an application defined one
Fixes https://github.com/libsdl-org/SDL/issues/14359

(cherry picked from commit d9ca0457b5)
2025-10-29 14:06:11 -07:00
Sam Lantinga
86384afbcf Fixed the right shoulder button on the 8BitDo Pro 3
(cherry picked from commit cecf4b0d4e)
2025-10-28 14:55:36 -07:00
Sam Lantinga
328f833d51 Added a Linux mapping for the 8BitDo Pro 3
(cherry picked from commit 78f9cb44c3)
2025-10-28 14:14:00 -07:00
Frank Praznik
a002a6313e wayland: Fix libdecor incompatible pointer types
(cherry picked from commit 3383436068)
2025-10-28 13:43:46 -04:00
Sam Lantinga
4fc5405f16 Fixed trying to grab the mouse when losing keyboard focus
Fixes https://github.com/libsdl-org/SDL/issues/14350

(cherry picked from commit 2d14a237dc)
2025-10-28 08:20:17 -07:00
Sam Lantinga
95977f41b7 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

(cherry picked from commit ffd0ca4391)
2025-10-25 13:50:32 -07:00
DONGGEUN YOO
3302162ede Fix uninitialized length in X11_GetClipboardData causing test failures (#14322)
(cherry picked from commit 093fbfd867)
2025-10-25 07:42:24 -07:00
Sam Lantinga
29f857fed6 Removed SDL_FILE from source code
(cherry picked from commit a402af506c)
2025-10-22 11:11:31 -07:00
Sam Lantinga
492ed877ea Removed __FILE__ from source code
(cherry picked from commit f79ede100b)
2025-10-22 10:49:31 -07:00
Sam Lantinga
b1959ecf23 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

(cherry picked from commit 999f782ad3)
2025-10-22 10:45:34 -07:00