Sam Lantinga
aea6e6de6f
Simplified SDL_SetProperty() and added SDL_SetPropertyWithCleanup()
...
Most of the time people won't need to set a cleanup callback, so we can simplify the more commonly used API.
2023-11-08 12:01:48 -08:00
Sam Lantinga
a1941fad6c
Replaced SDL_RenderGetD3D11Device(), SDL_RenderGetD3D12Device(), and SDL_RenderGetD3D9Device() with renderer properties.
2023-11-08 12:01:48 -08:00
Sam Lantinga
0cd4b7d3e3
Added display properties
2023-11-08 12:01:48 -08:00
Sam Lantinga
a02afbaea5
Clean up window properties when the window is destroyed
2023-11-08 12:01:48 -08:00
Sam Lantinga
8668943746
Standardized property names for internal SDL properties
2023-11-08 12:01:48 -08:00
Sam Lantinga
a4c6b38fef
Fixed FreeBSD build
2023-11-08 07:46:02 -08:00
Sam Lantinga
d9e6dcc650
Fixed FreeBSD build
2023-11-08 04:45:29 -08:00
Sam Lantinga
7cc3e94eb2
Store the requested muted state
2023-11-08 03:36:47 -08:00
Sam Lantinga
ce9e1bd324
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
2023-11-08 03:29:10 -08:00
Sam Lantinga
80b2bbad21
Removed useless branch test
...
Fixes https://github.com/libsdl-org/SDL/issues/8286
(cherry picked from commit e5ccc80aba )
(cherry picked from commit 7e11bd1ac1 )
2023-11-08 01:36:14 -08:00
Sam Lantinga
15bc12165a
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
2023-11-08 00:42:42 -08:00
Sam Lantinga
8049af3355
Assume all 8BitDo Xbox controllers have a share button
...
Fixes https://github.com/libsdl-org/SDL/issues/8174
2023-11-08 00:34:50 -08:00
Sam Lantinga
ed1e0c1530
Make sure joysticks are locked when adding and removing them
...
Fixes https://github.com/libsdl-org/SDL/issues/8146
2023-11-08 00:13:16 -08:00
Sam Lantinga
fea2504a37
Prioritize the pipewire audio driver over ALSA
...
ALSA is used very rarely anymore and the pipewire ALSA emulation isn't as good as using pipewire directly. The Pulseaudio emulation is very good, and Pulseaudio is still commonly available on Linux systems, so we'll default to that first and fall back to pipewire if it's not available. We'll finally try ALSA, to handle very old systems.
Fixes https://github.com/libsdl-org/SDL/issues/7541
2023-11-07 22:02:27 -08:00
Sam Lantinga
04e98d2236
Added missing calls to SDL_InvalidParamError("surface")
2023-11-07 21:57:15 -08:00
Sam Lantinga
521bbcc15e
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:44:18 -08:00
Sam Lantinga
28e623c504
Added a mapping for the Atari VCS controller connected over Bluetooth (thanks @WizzardSK!)
...
Fixes https://github.com/libsdl-org/SDL/issues/7116
2023-11-07 18:08:11 -08:00
Sam Lantinga
4106697774
Make sure we include the null terminator in XLookupStringAsUTF8()
...
Fixes https://github.com/libsdl-org/SDL/issues/6728
2023-11-07 16:24:08 -08:00
Sam Lantinga
b5057edf29
Remove unused SDL_TextureModulate enum
...
Fixes https://github.com/libsdl-org/SDL/issues/6387
2023-11-07 09:23:26 -08:00
Frank Praznik
1a57f6bb29
wayland: Remove QtWayland extensions
...
These were added a very long time ago and seem to serve no purpose now, as the functionality they provided is now in core Wayland protocols, current information on their usage and status is nonexistent, no modern compositor seems to support them, and the code paths are untested and subject to bit-rot at this point. It also causes duplicate symbol issues when statically linking an application to both Qt and SDL.
2023-11-07 11:00:32 -05:00
Ozkan Sezer
5f920d6639
fix emscripten build after commit 07cb7c10
2023-11-07 07:55:30 +03:00
Sam Lantinga
22016b4eae
Enable the 5th player LED on the DualSense controller
...
Fixes https://github.com/libsdl-org/SDL/issues/5152
2023-11-06 20:14:50 -08:00
Sam Lantinga
66cf30c2de
Removed misleading comment
...
Fixes https://github.com/libsdl-org/SDL/issues/5069
2023-11-06 19:33:40 -08:00
Sam Lantinga
dbcd390cdf
Log drag and drop position updates in SDL test programs
2023-11-06 18:53:06 -08:00
Sam Lantinga
07cb7c10a1
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
2023-11-06 17:12:51 -08:00
Ryan C. Gordon
c6d9fb1ad7
hidapi: Avoid memcpy'ing to NULL.
...
(This fix was originally from @themightyoarfish on GitHub. Thanks!)
Fixes #8428 .
Reference PR #8431 .
2023-11-06 13:48:07 -05:00
Ryan C. Gordon
4d1aecc225
vulkan: Patched to compile on iOS.
2023-11-06 13:35:19 -05:00
Ryan C. Gordon
2f92807087
vulkan: SDL_Vulkan_CreateSurface now accepts an app-provided allocator.
...
Fixes #3638 .
2023-11-06 13:31:20 -05:00
Ryan C. Gordon
c53843a961
docs: Remove Doxygen \brief tags.
...
Doxygen and the wiki bridge don't need them; they'll both just use the first
line/sentence instead.
Fixes #8446 .
2023-11-06 10:26:06 -05:00
Sam Lantinga
f7d40b7594
Added 10-bit pixel formats in addition to SDL_PIXELFORMAT_ARGB2101010
...
Added SDL_PIXELFORMAT_XRGB2101010, SDL_PIXELFORMAT_XBGR2101010, SDL_PIXELFORMAT_ABGR2101010
Fixes https://github.com/libsdl-org/SDL/issues/3553
2023-11-06 00:41:09 -08:00
Sam Lantinga
3e4d7e48b0
Fixed memory leak in XInput code
...
Fixes https://github.com/libsdl-org/SDL/issues/3597
2023-11-06 00:40:19 -08:00
Sam Lantinga
bc3d9e99f3
Only save ibus_addr_file after we've successfully read an address from it.
...
Fixes https://github.com/libsdl-org/SDL/issues/3359
2023-11-05 22:12:37 -08:00
Ozkan Sezer
d2e005ee13
dynapi: remove duplicated SDL_LoadWAV entries
2023-11-05 20:32:50 +03:00
Sam Lantinga
70c149c88f
Automatically clean up memory associated with events
2023-11-05 09:14:11 -08:00
Ozkan Sezer
1a83bf2399
fix a possible memory leak in SDL_vasprintf()
2023-11-05 20:01:02 +03:00
Sam Lantinga
9302d7732d
Fixed touch normalized coordinates
...
When converting normalized coordinates to pixel coordinates, the valid range is 0 to (width or height) - 1, and the pixel coordinate of width or height is past the edge of the window.
Fixes https://github.com/libsdl-org/SDL/issues/2913
2023-11-05 06:55:39 -08:00
Sam Lantinga
930438dfb7
Added note that the #ifdef is for !__IOS__
2023-11-05 00:33:08 -07:00
kanjitalk755
c56583fe45
Fix duplicate symbol on iOS/tvOS
2023-11-05 00:31:27 -07:00
kanjitalk755
4ab31ca678
Fix dropping file event
2023-11-05 00:14:56 -07:00
Sam Lantinga
d3f2eb2aba
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
(cherry picked from commit e8f4045d0b )
2023-11-04 22:28:09 -07:00
Sam Lantinga
b9784feb24
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
2023-11-04 21:11:53 -07:00
Sam Lantinga
75ea3a8d32
Dynamically allocate long text for SDL_EVENT_TEXT_INPUT events
...
This prevents input text from being split across Unicode combining or modifier characters, and in practice allocations will rarely happen.
2023-11-04 20:55:10 -07:00
Sam Lantinga
2a1660ab51
Additional cleanup for SDL_RWprintf() (thanks @sezero!)
2023-11-04 20:47:08 -07:00
Sam Lantinga
f9d11807c0
Added SDL_RWprintf() and SDL_RWvprintf() to do formatted printing to an SDL_rwops stream
...
Fixes https://github.com/libsdl-org/SDL/issues/2390
2023-11-04 16:46:08 -07:00
Frank Praznik
52c4e3eab3
events: Update self-referential pointers when copying event objects
...
Pointers to static internal data need to be updated when copying events, or the cleanup code will attempt to free old stack data that went out of scope.
2023-11-04 18:07:24 -04:00
Sam Lantinga
91f0456391
Add the source application for drag and drop events (thanks Nathan!)
...
This is only implemented on iOS, but is useful for third party application integrations.
Fixes https://github.com/libsdl-org/SDL/issues/2024
2023-11-04 13:00:41 -07:00
Ryan C. Gordon
780b6612a9
wayland: Wayland_Vulkan_GetInstanceExtensions didn't set the count variable.
...
Fixes #8468 .
2023-11-04 14:53:24 -04:00
Sam Lantinga
4481754359
Make sure we only dispatch events on the main thread when using application callbacks
2023-11-04 11:27:58 -07:00
Ryan C. Gordon
019468dc59
main: Check for SDL_AddEventWatch failure, now that it can report it.
2023-11-04 10:03:10 -04:00
Sam Lantinga
7e445da569
Added SDL_CleanupEvent()
...
This is used to free any dynamically allocated memory in events.
2023-11-04 06:47:24 -07:00