Sam Lantinga
87bb0f5bcb
Don't mute the console input if we can't read the keyboard
...
This makes sure you can hit Ctrl-C if you don't have permission to access the raw keyboard device.
Fixes https://github.com/libsdl-org/SDL/issues/4812
(cherry picked from commit ce9e1bd324 )
2023-11-08 03:29:39 -08:00
Wohlstand
f9baa30270
sdlchecks.cmake: Clarified the reason why shared X11 mode doesn't work
...
#6778
2023-11-08 02:57:04 -08:00
Sam Lantinga
7e11bd1ac1
Removed useless branch test
...
Fixes https://github.com/libsdl-org/SDL/issues/8286
(cherry picked from commit e5ccc80aba )
2023-11-08 01:35:57 -08:00
Sam Lantinga
af7fe2cf9b
Actually we need to enumerate the 8BitDo Xbox SKUs
...
At the point we're calling SDL_IsJoystickXboxSeriesX(), we don't know for sure that the controller is an Xbox controller.
Fixes https://github.com/libsdl-org/SDL/issues/8174
(cherry picked from commit 15bc12165a )
2023-11-08 00:43:43 -08:00
Sam Lantinga
524ccf033f
Assume all 8BitDo Xbox controllers have a share button
...
Fixes https://github.com/libsdl-org/SDL/issues/8174
(cherry picked from commit 8049af3355 )
2023-11-08 00:36:27 -08:00
Sam Lantinga
b1807797a3
Make sure joysticks are locked when adding and removing them
...
Fixes https://github.com/libsdl-org/SDL/issues/8146
(cherry picked from commit ed1e0c1530 )
2023-11-08 00:18:13 -08:00
Sam Lantinga
b07e5d38a2
Added missing calls to SDL_InvalidParamError("surface")
...
(cherry picked from commit 04e98d2236 )
2023-11-07 21:58:39 -08:00
Sam Lantinga
624905a7f1
Destroy the window surface if we've created it for the software renderer
...
Fixes https://github.com/libsdl-org/SDL/issues/8011
2023-11-07 21:47:07 -08:00
Sam Lantinga
4ace02df5f
Added a mapping for the Atari VCS controller connected over Bluetooth (thanks @WizzardSK!)
...
Fixes https://github.com/libsdl-org/SDL/issues/7116
(cherry picked from commit 28e623c504 )
2023-11-07 18:09:00 -08:00
Sam Lantinga
70adacf08a
Make sure we include the null terminator in XLookupStringAsUTF8()
...
Fixes https://github.com/libsdl-org/SDL/issues/6728
(cherry picked from commit 4106697774 )
2023-11-07 16:25:12 -08:00
Sam Lantinga
fb92d150d9
Removed unused SDL_OSEvent
2023-11-07 09:15:18 -08:00
Ivan Mogilko
d9559ce1d4
Added subsystem refcount tests to testautomation
2023-11-07 08:40:15 -08:00
Ivan Mogilko
7526a87ff2
Handle subsystem dependencies recursively
...
Existing code is erroneous, because it adds or removes dependency's ref count based on number of InitSubSystem/QuitSubSystem calls, while ref count diff should depend on number of inited or quit dependents.
Recursive approach seems to be simplest solution that guarantees proper ref count.
2023-11-07 08:40:15 -08:00
Sam Lantinga
171e306dbf
Enable the 5th player LED on the DualSense controller
...
Fixes https://github.com/libsdl-org/SDL/issues/5152
(cherry picked from commit 22016b4eae )
2023-11-06 20:15:39 -08:00
Sam Lantinga
d6c725d522
Removed misleading comment
...
Fixes https://github.com/libsdl-org/SDL/issues/5069
(cherry picked from commit 66cf30c2de )
2023-11-06 19:34:03 -08:00
Sam Lantinga
0c85173d5b
Fixed connecting and disconnecting real-joysticks closing virtual joysticks in Emscripten (thanks David!)
...
Emscripten was using its own, private integer in order to allocate
new SDL_JoystickIDs. SDL keeps a similar integer for allocating
joystick-ids, one which is shared across multiple joystick backends.
SDL 2.0.13 introduces a new joystick-backend, a Virtual joystick
backend, which allows for software-driven joysticks, and which is
designed to sit alongside joystick-backends that provide access to
physical joysticks.
The Emscripten and the Virtual backends were, at times, getting
allocated the same SDL_JoystickIDs, if and when both backends were used
simultaneously. This could happen if, for example, an application
was using a virtual joystick in order to drive a touch-screen
based joystick, while also supporting physical joysticks through the
Emscripten backend.
When two joysticks end up with the same SDL_JoystickID, conflicts
can occur. For example, disconnecting a physical joystick with
the same SDL_JoystickID as a virtual one, can lead to the virtual
joystick being closed, inadvertently.
This fix makes the Emscripten backend use SDL's cross-joystick-backend
integer counter, which is shared among joystick backends, for allocating
new SDL_JoystickIDs, rather than a private, Emscripten-specific
counter.
Fixes https://github.com/libsdl-org/SDL/issues/3647
(cherry picked from commit 07cb7c10a1 )
2023-11-06 17:13:16 -08:00
Ozkan Sezer
7555701def
autotools: fix linux joystick breakage after commit 221d6ea8a8
...
Fixes https://github.com/libsdl-org/SDL/issues/8488
2023-11-06 23:25:58 +03:00
Ryan C. Gordon
065d80716b
hidapi: Avoid memcpy'ing to NULL.
...
(This fix was originally from @themightyoarfish on GitHub. Thanks!)
Fixes #8428 .
Reference PR #8431 .
(cherry picked from commit c6d9fb1ad7 )
2023-11-06 13:50:49 -05:00
Ryan C. Gordon
9d7feaaf9e
coreaudio: If paused, clear any pending stream data.
...
This makes sure stuff that was still pending for conversion/resampling doesn't
pop in later when the device is unpaused again.
Fixes #8485 .
2023-11-06 09:57:00 -05:00
Sam Lantinga
d5896f9010
Fixed memory leak in XInput code
...
Fixes https://github.com/libsdl-org/SDL/issues/3597
(cherry picked from commit 3e4d7e48b0 )
2023-11-06 00:40:48 -08:00
Sam Lantinga
64a7e75dd3
Only save ibus_addr_file after we've successfully read an address from it.
...
Fixes https://github.com/libsdl-org/SDL/issues/3359
(cherry picked from commit bc3d9e99f3 )
2023-11-05 22:13:34 -08:00
Ozkan Sezer
93e51dd33e
fix a possible memory leak in SDL_vasprintf()
...
(cherry picked from commit 1a83bf2399 )
2023-11-05 20:02:20 +03:00
Sam Lantinga
e8f4045d0b
Use XINPUT_STATE instead of XINPUT_STATE_EX (thanks Andrew!)
...
XINPUT_STATE_EX isn't actually a thing, we can just use the normal XINPUT_STATE
Fixes https://github.com/libsdl-org/SDL/issues/2797
2023-11-04 22:24:55 -07:00
Sam Lantinga
aa129c9257
Fixed potential uninitialized memory access (thanks Mathieu!)
...
GetRawInputDeviceList() can return a different number of devices than was allocated.
Fixes https://github.com/libsdl-org/SDL/issues/2759
(cherry picked from commit b9784feb24 )
2023-11-04 21:12:15 -07:00
Sam Lantinga
4c2eb6b95d
Use the default UCS2/UCS4 conversion rather than non-portable INTERNAL encoding
...
Fxies https://github.com/libsdl-org/SDL/issues/1497
(cherry picked from commit d07a264a9b )
2023-11-04 12:02:18 -07:00
Ozkan Sezer
e226008d83
configure: move HAVE_LINUX_INPUT_H to CheckInputEvents()
...
c.f.: https://github.com/libsdl-org/SDL/pull/8459 .
Ref. issue https://github.com/libsdl-org/SDL/issues/8450
2023-11-02 23:33:20 +03:00
Anonymous Maarten
8b1b6734f6
cmake: fold HAVE_INPUT_EVENTS into HAVE_LINUX_INPUT_H
2023-11-02 21:28:39 +01:00
Sam Lantinga
97c2bdf256
Added patch note for SDL_GDKGetDefaultUser()
2023-11-02 09:59:25 -07:00
Sam Lantinga
20ecd2afcb
Check to make sure the Windows joystick device has buttons and axes
...
This reverts commit e5a15f94e2 .
It turns out removing this check allows mice like the ROG PUGIO II to show up as game controllers. We need to find a different way to differentiate between gaming mice and pedals.
Since these mice show up as controllers, and potentially causing games to use them instead of real controllers, we'll go ahead revert this change for now.
Reopens https://github.com/libsdl-org/SDL/issues/8227
(cherry picked from commit ad0af48883 )
2023-11-02 08:43:11 -07:00
Anonymous Maarten
517db6d887
cmake: reset check state before testing -fobjc-arc
2023-10-30 21:08:30 +01:00
Anonymous Maarten
20630b2e6c
cmake: check -fobjc-arc compiler flag on Apple platforms
2023-10-30 19:56:46 +01:00
Anonymous Maarten
7774de0fe3
cmake: file(RELATIVE_PATH) needs 2 absolute paths
2023-10-30 19:45:49 +01:00
Frank Praznik
60e8ff16dc
wayland: Sanity check pointers and protocols before confining
...
(cherry picked from commit 875e45e70b )
2023-10-29 14:28:58 -04:00
Frank Praznik
19c3e125ba
wayland: Check the relative pointer handle before destroying
...
If the relative protocol is unsupported, this will always be null and the destroy function won't be called.
(cherry picked from commit 0e87b71d08 )
2023-10-29 14:28:19 -04:00
Sam Lantinga
832afa81a1
Fixed making the EGL context current when resuming on Android
...
Make sure that we don't have the context cached as current on the current thread.
(cherry picked from commit 8b6da3c701 )
2023-10-26 17:09:13 -07:00
Ozkan Sezer
b29128994e
CI: change FreeBSD CI runner to cross-platform-actions.
2023-10-26 01:03:50 +03:00
Sam Lantinga
1db0bd3fc0
Added support for the HP HyperX Clutch Gladiate controller
...
(cherry picked from commit f52b330ed8 )
2023-10-25 09:01:46 -07:00
Ryan C. Gordon
cba6090398
n3ds: Check that audio thread name starts with "SDLAudioP"
...
The string has a number after it, so a basic SDL_strcmp() will never match.
Reference PR #8346 .
2023-10-24 23:58:00 -04:00
Sam Lantinga
4194a902e8
Added support for "%[]" sscanf syntax
...
Fixes https://github.com/libsdl-org/SDL/issues/8423
(cherry picked from commit 39a961ba41 )
2023-10-24 17:32:23 -07:00
ds-sloth
3823ba1ded
n3ds systhread - use 80kb thread stack size as default, remove hard cap
2023-10-24 16:42:44 -07:00
ds-sloth
301ee21f33
n3ds systhread - prefer to put audio thread on system core
2023-10-24 16:42:44 -07:00
ds-sloth
6623c87d0b
SDL_n3dsaudio.c - don't risk leaving current_priority uninitialized
2023-10-24 16:42:44 -07:00
ds-sloth
070f57820f
SDL_n3dsaudio.h: use triple buffering
2023-10-24 16:42:44 -07:00
ds-sloth
62266dbd4f
SDL_n3dsaudio.c: separate mixer locks from audio device locks
2023-10-24 16:42:44 -07:00
Sam Lantinga
d47c286b12
SDL_IsJoystickProductWheel() returns SDL_TRUE for Asetek wheelbases (thanks @IOBYTE!)
...
(cherry picked from commit e07f6c0a17 )
2023-10-23 10:44:30 -07:00
Sam Lantinga
259009a7ea
Add missing error reporting in Android_JNI_FileOpen()
...
Fixes https://github.com/libsdl-org/SDL/issues/8427
(cherry picked from commit a844d90942 )
2023-10-23 08:28:37 -07:00
Anonymous Maarten
90255914a8
cmake: install pdb's when present
2023-10-22 18:53:34 +02:00
Sam Lantinga
e3e41b69a1
Revert "Check to make sure the Windows joystick device has buttons and axes"
...
This reverts commit 642504bc59 .
We have SDL_HINT_JOYSTICK_ROG_CHAKRAM to ignore or allow the ROG Chakram X mouse to be used as a joystick.
Fixes https://github.com/libsdl-org/SDL/issues/8227
(cherry picked from commit e5a15f94e2 )
2023-10-22 09:24:23 -07:00
Ozkan Sezer
44d8721087
Allow building against old Linux kernels.
2023-10-19 11:14:20 +03:00
Cameron Gutman
4aab2342e9
Check for device disconnection in HIDAPI_JoystickOpen()
...
HIDAPI joystick drivers may call HIDAPI_JoystickDisconnected() in their
UpdateDevice() function during HIDAPI_JoystickOpen(). If they do this
today, the opened joystick will end up partially initialized (no name,
path, mapping GUID, etc.) because HIDAPI_GetDeviceByIndex() will no
longer be able to find the SDL_HIDAPI_Device for the removed joystick.
Worse still, joystick->hwdata->device becomes a dangling freed pointer
the next time HIDAPI_UpdateDeviceList() is called. This leads to a UAF
when the application or SDL calls SDL_JoystickClose() on this joystick.
Fix all this by checking if the device no longer has any associated
joysticks after calling UpdateDevice() and failing the open call if so.
(cherry picked from commit 435e7ce663 )
2023-10-17 22:18:52 -05:00