Neal Gompa
6be87ceb33
pipewire: Ensure that the correct struct is used for enumeration APIs
...
PipeWire now requires the correct struct type is used, otherwise
it will fail to compile.
Reference: 188d920733
Fixes: https://github.com/libsdl-org/SDL/issues/12224
(cherry picked from commit d35bef64e9 )
2025-03-06 14:36:44 -05:00
Sam Lantinga
ab44451578
Added support for the "%n" sscanf format specifier
...
(cherry picked from commit 6980325310 )
2025-02-25 08:07:33 -08:00
Tomasz Pakuła
0809be4ec5
[SDL2] Add SDL_HINT_JOYSTICK_HAPTIC_AXES
...
Allows users to overwrite the number of haptic axes defined for a given
joystick. Also supports a "wildcard" VID:PID of 0xFFFF/0xFFFF
2025-02-25 07:54:59 -08:00
Petter Reinholdtsen
24693ac285
Changed PULSEAUDIO_FlushRecording() to only flush audio present when called.
...
When the flushing is not able to keep up with the audio stream coming in,
it will end up flushing forever and block API clients from getting any audio.
Fixes #9706
2025-02-24 07:31:06 -08:00
Paper
6421f12d7f
thread/windows: fix stack overflow in exception naming
...
(cherry picked from commit 1a853973ab )
2025-02-20 08:20:41 -08:00
Ozkan Sezer
ee49025f80
dynapi: use DosScanEnv() for os/2.
2025-02-20 11:50:04 +03:00
Sam Lantinga
5925c27efb
Don't leak device handle in macOS 10.10 or newer
...
Merged upstream fix for macOS:
cdc473dfe4
In one of the early versions of macOS, when you try to close the device
with IOHIDDeviceClose() that is being physically disconnected.
Starting with some version of macOS, this crash bug was fixed,
and starting with macSO 10.15 the opposite effect took place:
in some environments crash happens if IOHIDDeviceClose() is _not_ called.
This patch is to keep a workaround for old versions of macOS,
and don't have a leak in new/tested environments.
Fixes https://github.com/libsdl-org/SDL/issues/12255
2025-02-19 16:55:03 -08:00
Sam Clegg
aa00738a21
Fix SDL_emscriptenaudio.c under wasm64
...
Verified locally by running `browser64.test_sdl2_mixer_wav` in
emscripten.
2025-02-18 13:53:58 -08:00
Sam Lantinga
5330041ea9
Updated to version 2.33.0 for development
2025-02-08 09:15:11 -08:00
Sam Lantinga
7a44b1ab00
Updated to version 2.32.0 for release
2025-02-08 09:10:22 -08:00
Sam Lantinga
3e97d41da4
Updated to version 2.31.1 for RC build
2025-02-08 08:56:53 -08:00
ds-sloth
dab0205174
Delete src/thread/n3ds/SDL_syscond.c
2025-02-06 18:12:31 -08:00
Ryan C. Gordon
d2693d4c7d
dynapi: Don't use SDL_getenv; it might malloc before the app sets an allocator.
...
Use platform-specific code instead, so SDL's allocator never comes into play.
2025-02-06 12:40:13 -05:00
Sam Lantinga
ed7e7edb70
Don't use the HIDAPI driver for Thrustmaster wheels
...
Closes https://github.com/libsdl-org/SDL/pull/12173
(cherry picked from commit 6782cfe2c5 )
2025-02-05 17:21:48 -08:00
Sam Lantinga
482d964733
Don't filter out controllers when launched by Steam under Proton
...
Fixes https://github.com/libsdl-org/SDL/issues/11579
Fixes https://github.com/libsdl-org/SDL/issues/12106
(cherry picked from commit 3060105cfa )
2025-01-31 15:40:21 -08:00
Sam Lantinga
da0cf3f634
Fixed detecting Steam Deck controller on Proton 9.04
...
Newer versions of Proton properly pass through the Steam virtual gamepad VID/PID, but older Proton (9.x and older) don't, so we have to rely on Steam and Proton hiding controllers we shouldn't have access to.
Fixes https://github.com/libsdl-org/SDL/issues/12106
2025-01-31 15:32:33 -08:00
Sam Lantinga
55a75875f0
Improved XInput controller detection
...
Sometimes we'll get a Windows.Gaming.Input callback before the raw input device is even in the list, so try some other methods to better detect XInput devices.
2025-01-31 08:45:20 -08:00
Deve
934d6954e2
Fixed crash when trying to disconnect secondary display on iOS
2025-01-29 14:45:49 -08:00
Sam Lantinga
0efe8892d6
Skip IsRegularFileOrPipe() check on Emscripten
...
The sandbox guarantees that this will be true.
Fixes https://github.com/libsdl-org/SDL/issues/12108
(backported from from commit 1c7cc60286 )
2025-01-28 10:47:10 +03:00
Tomasz Pakuła
5bf8955b25
Use proper polar direction when creating FF_RUMBLE effect
...
Uses proper polar direction of 90 degrees. Previous value probably came from mistakenly using spherical system default.
2025-01-20 16:52:11 -08:00
Tomasz Pakuła
529ed102fc
Translate conditional effect direction instead of hardcoding it to 0
...
Provious code wrongly assumed that direction is not an important part
of conditional effect. Moreover, if there's need to hardcode polar
direction, the default should be 0x4000 (north).
For one axis affects, a direction of 0 means complete lack of force, if
a FFB-enabled device takes direction into force calculation. A sine function
graph can be used to represent the resulting forces where X is the input
direction and Y is the force multiplier (360 degrees equals to 1).
This fixes conditional effect playback on Moza Racing devices, which do
not ignore direction field.
2025-01-20 16:52:11 -08:00
Sam Lantinga
4b19f7e012
Added support for the 8BitDo Ultimate 2C Wireless in Bluetooth mode
...
Closes https://github.com/libsdl-org/SDL/pull/11415
(cherry picked from commit c7d1fd90ea )
2025-01-18 07:07:12 -08:00
ROllerozxa
878ea48b60
Vita: Fix off-by-one error for synthetic mouse events
...
(cherry picked from commit cdc5483cf9 )
2025-01-16 11:59:25 -08:00
Ozkan Sezer
ab8bd0ef86
fix emscripten builds
2025-01-16 18:50:00 +03:00
Sam Lantinga
9f25821ffd
Fixed detection of function keys on Emscripten
...
Fixes https://github.com/libsdl-org/SDL/issues/11973
(cherry picked from commit 67382e9c83 )
2025-01-16 07:32:38 -08:00
CasualPokePlayer
780ec8fac0
Set EGL surface for foreign X11 windows
...
Also slightly changes up the cleanup code for SetupWindowData, to avoid copy pasting.
See #10611
2025-01-16 10:20:25 -05:00
Sam Lantinga
91b76f5c29
Fixed potentially overlapping memcpy() to use memmove()
2025-01-14 14:34:29 -08:00
Frank Praznik
0efeb82a28
wayland: Only apply the toplevel bounds to resizable windows
2025-01-06 17:20:10 -05:00
Frank Praznik
e5a3fcd071
wayland: Apply toplevel bounds to windows
...
Apply the supplied xdg-toplevel bounds to resizable windows during initial mapping. Libdecor functionality will have to be added separately, as the functionality needs to be added to the library first.
2025-01-06 17:13:16 -05:00
Daniel Tang
db2997548c
Let SDL_IM_MODULE=fcitx override Wayland as a workaround to fix key repetition detection ( #11859 )
2025-01-05 14:34:30 -08:00
Ryan C. Gordon
c9c991b559
test_fuzzer: Patched to compile on Visual Studio.
2025-01-04 01:02:10 -05:00
Ryan C. Gordon
20574c016a
coreaudio: Workaround for crash when disconnecting a bluetooth audio device.
...
Our understanding of what's going on here might be incorrect, but it seems
like we're getting this callback at a point where we shouldn't be able to,
with a device we've already closed.
If we're on the wrong track, this code should still be harmless; it just
verifies a device is still in the open list before dereferencing it.
Reference Issue #10432 .
2025-01-04 00:30:31 -05:00
Anonymous Maarten
1fa217434b
Avoid undefined signed overflow in SDLTest_RandomIntegerInRange
...
Partial backport of efba42a67b
2025-01-04 01:07:40 +01:00
Joshua Root
6024c2731f
prepare_audioqueue: legacy OS compatibility fix
2025-01-02 14:16:33 -08:00
Joshua Root
d58f026827
windowWillStartLiveResize: legacy OS compatibility fix
2025-01-02 14:16:33 -08:00
Joshua Root
ed0eb7714a
showAlert: legacy OS compatibility fix
2025-01-02 14:16:33 -08:00
Anonymous Maarten
123b967a99
Port back nolibc SDL_strtol implementations from SDL3 to SDL2
2025-01-02 21:46:28 +01:00
Sam Lantinga
adb51845af
Fixed N3DS_TOUCH_ID, 0 is an invalid touch ID
2025-01-01 09:06:23 -08:00
Sam Lantinga
5a25183b39
Revert "Backed out Vita touch ID change for SDL2"
...
This reverts commit a326ebce61 .
It turns out that 0 is an invalid touch ID for SDL2, per the documentation for SDL_GetTouchDevice()
2025-01-01 09:03:24 -08:00
Sam Lantinga
a326ebce61
Backed out Vita touch ID change for SDL2
...
0 is still a valid touch ID in SDL2 and shouldn't be changed at this point
2025-01-01 08:24:31 -08:00
Sam Lantinga
2b5b8fdbd5
Updated copyright for 2025
2025-01-01 07:47:53 -08:00
Ryan C. Gordon
96b4535cc7
misc: Fixed typo in iOS error message.
2024-12-26 23:36:28 -05:00
Ryan C. Gordon
e55a23050e
misc: Make SDL_OpenURL work with VisionOS, tvOS, etc.
...
(cherry picked from commit 7bbe6025be )
2024-12-26 23:36:06 -05:00
Ryan C. Gordon
c6e1806ba9
misc: Fix SDL_OpenURL on newer iOS releases.
...
Apparently as of iOS 18.2, the deprecated API we were using just refuses to
work at all.
Fixes #11728 .
(cherry picked from commit ffed1c50c0 )
2024-12-26 23:35:29 -05:00
Sam Lantinga
ddfdb0ca7b
Don't overwrite non-CRC gamepad mapping with a new mapping that specifies a CRC
...
Fixes https://github.com/libsdl-org/SDL/issues/11723
(cherry picked from commit 1413bfb185 )
2024-12-26 20:20:39 -08:00
Sam Lantinga
348bb53cc1
Corrected CoreAudio surround sound channel layouts
...
Fixes https://github.com/libsdl-org/SDL/issues/11709
(cherry picked from commit b2178857dc )
2024-12-24 15:10:35 -08:00
Blaž Tomažič
e79b0ce2e4
Use pthread_setname_np also on Android
...
Set thread name on Android the same way as we do on Linux.
Acording to Bionic source code this function is available since 2013 [1] and
hase the same signature.
[1] 2a1bb4e646
2024-12-24 07:40:04 -08:00
Sam Lantinga
884c8b684a
Allow rendering during the modal resize loop on macOS
...
Fixes https://github.com/libsdl-org/SDL/issues/11508
(cherry picked from commit 9a43c08146 )
2024-12-23 11:55:49 -08:00
Sam Lantinga
974098464f
Enable high refresh rates on iOS
...
Fixes https://github.com/libsdl-org/SDL/issues/7518
(cherry picked from commit 835b6e0c1a )
2024-12-18 14:43:33 -08:00
Sam Lantinga
7f880c9121
Fixed crash if the controller product name is NULL
...
This happens when the Razer Synapse software emulates a controller with a keyboard
(cherry picked from commit 7117d545a3 )
2024-12-17 16:54:55 -08:00