|
0e4baf1c
|
2022-08-30T12:39:23
|
|
Don't crash if SDL functions are passed a closed joystick or gamecontroller
|
|
675d90c7
|
2022-08-30T12:09:07
|
|
Revert "wgi: refcount the delegate objects"
This reverts commit ff233fe3060e51706937a7b366438403bce774a4.
This doesn't compile cleanly with Visual Studio and I don't want to introduce any subtle issues because we're passing the wrong types of pointers to WGI functions.
|
|
40bd4fee
|
2022-08-30T11:42:13
|
|
Revamped joystick locking
This makes the joystick locking more robust by holding the lock while updating joysticks.
The lock should be held when calling any SDL joystick function on a different thread than the one calling SDL_PumpEvents() and SDL_JoystickUpdate().
It is now possible to hold the lock while reinitializing the joystick subsystem, however any open joysticks will become invalid and potentially cause crashes if used afterwards.
Fixes https://github.com/libsdl-org/SDL/issues/6063
|
|
ff233fe3
|
2022-08-28T22:20:58
|
|
wgi: refcount the delegate objects
assert if calls become unbalanced.
|
|
f1e46858
|
2022-08-26T17:58:59
|
|
Adding specific SDL_Hint for the dynamic VSYNC
|
|
2f08bf23
|
2022-08-29T22:15:35
|
|
Added the share button to the Linux mapping for the third party Nintendo Switch Pro controllers
|
|
b2ac758f
|
2022-08-29T17:33:00
|
|
Added support for the Hori Fighting Stick Alpha to the HIDAPI driver
|
|
3c78ba57
|
2022-08-29T11:08:24
|
|
dbus: Use xdg-desktop-portal Inhibit when running under Flatpak or Snap
In order to inhibit the screen saver, SDL currently uses
`org.freedesktop.ScreenSaver.Inhibit()` and, as a fallback, a protocol
specific method for X11 or Wayland.
Accessing `org.freedesktop.ScreenSaver` is usually not allowed when
inside a sandbox like Flatpak, unless the permission has been explicitly
granted to the application.
Another issue is that the Wayland protocol "Idle inhibit" is relatively
new and not yet widely adopted. For example Mutter still doesn't support
it.
For those reasons, when running under Flatpak or Snap, we should try to
inhibit the screen saver by using xdg-desktop-portal instead. This
should give us an higher chance of success.
Fixes: https://github.com/libsdl-org/SDL/issues/6075
Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
|
|
e8cb4da7
|
2022-08-26T12:28:33
|
|
Add utility function to detect if SDL is inside a sandbox
Refactor the previous sandbox check in a standalone function that also
includes Snap support.
Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
|
|
a3ce700d
|
2022-08-25T16:18:45
|
|
dbus: Add generic internal function to send messages with reply
SDL_DBus_CallWithBasicReply() allows us to send a DBus message and get
its result, if it is a basic type, e.g. integer or string.
With this function we avoid duplicating code.
Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
|
|
1153aaae
|
2022-08-29T00:15:56
|
|
Fixed compiling with USB_GET_DEVICEINFO on DragonFly BSD
Although the ioctl() currently fails on this platform...
|
|
57cbec10
|
2022-08-28T23:18:40
|
|
Added controller mappings for Xbox 360, PS4, and PS5 controllers on OpenBSD
Removed the axis flipping hack for Xbox controllers which would actually apply to any controller with a full 16-bit range.
Fixes https://github.com/libsdl-org/SDL/issues/6143
|
|
0b8b321f
|
2022-08-28T23:01:30
|
|
Allow the product version to be different when trying to find a controller mapping
This is in the hope that revving the product version doesn't change the mapping, which is the case for some devices. In cases where it does, we just need to provide a mapping for each version of the product.
|
|
761b9d1e
|
2022-08-28T22:33:17
|
|
Use the HID usage for the button as the button number
|
|
a9d3935a
|
2022-08-28T18:17:50
|
|
Improved code to get the name and guid for joysticks on OpenBSD and NetBSD
Also dynamically allocate joysticks to reduce static memory usage
|
|
32700294
|
2022-08-28T17:56:11
|
|
Don't crash if SDL_CreateJoystickGUID() is passed a NULL name
|
|
bac8df4a
|
2022-08-28T17:55:49
|
|
Fixed memory leak when out of memory
|
|
ffbad361
|
2022-08-28T16:21:05
|
|
Use the correct type for the device_instance
|
|
4a800ae1
|
2022-08-28T16:11:12
|
|
Created a consolidated define enabling BSD gameport joystick support
|
|
42f90c62
|
2022-08-28T16:01:03
|
|
Removed unused path variable
|
|
b7c1fbf9
|
2022-08-28T17:38:02
|
|
WGI: Fix a couple of reference leaks
|
|
0db18130
|
2022-08-28T07:27:01
|
|
Applied OpenBSD patch
http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/devel/sdl2/patches/patch-src_joystick_bsd_SDL_bsdjoystick_c?rev=1.5&content-type=text/plain&hideattic=1
|
|
b8af865f
|
2022-08-28T13:02:57
|
|
Fix candidate list size for Windows IME
Adjust candidate count so list is not draw bigger that needed. This also fix potential uninitialised read of variable `candsize[i]` if `vertical` is false.
|
|
3cbfd75d
|
2022-08-27T18:55:55
|
|
Re-added the CRC to the joystick guid
This is now used as a crc field in the mapping rather than directly in mapping guids, for better mapping compatibility between versions of SDL.
Added SDL_GetJoystickGUIDInfo() to get device information encoded in a joystick GUID, so that mapping programs can clear the CRC from the GUID when generating mappings.
sort_controllers.py has been updated to extract the CRC from mappings created by older mapping programs and convert it into the new crc field. It will also take the CRC into account when checking for duplicate mappings.
Also regenerated the GUIDs for the PS2/PSP/Vita controller mappings, fixing https://github.com/libsdl-org/SDL/issues/6151
|
|
b9e3cae5
|
2022-08-26T16:58:21
|
|
Add more valid configurations to PS2 audio driver
|
|
b188a916
|
2022-08-27T09:46:28
|
|
Fixed uhid device name for non-OpenBSD platforms
|
|
3f93ec47
|
2022-08-26T20:52:56
|
|
Add support for OpenBSD's ujoy(4)
|
|
9a01eac5
|
2022-08-26T13:45:05
|
|
Temporarily disable joystick GUID CRCs
|
|
f6c2c22d
|
2022-08-25T22:25:25
|
|
Don't try to use the charging port for the PowerA wireless controller as an input device
|
|
f1aa8434
|
2022-08-25T21:51:20
|
|
Don't report rumble capability for Nintendo Online controllers
|
|
9ce9c253
|
2022-08-25T18:41:32
|
|
SDL_windowsmodes: fix WIN_GetDisplayNameVista source identifier number
This was getting the wrong monitor's name because the source identifier
was not being included in the DisplayConfigGetDeviceInfo request.
|
|
ce227aa6
|
2022-08-26T01:57:09
|
|
wayland: fix build with SDL_WAYLAND_SHARED=OFF/--enable-wayland-shared=no
|
|
679582e7
|
2022-08-25T11:07:20
|
|
Fixed crash if there are no devices available
|
|
40b24992
|
2022-08-25T10:03:33
|
|
Fix building with SDL_DISABLE_WINDOWS_IME
Regression of https://github.com/libsdl-org/SDL/commit/f317d619ccd22e60cebf1b09d716d3985359c981#diff-bff8f3e638d51e86cb6f0f42e2c527549d649951b7aa5ec4a539e865a5b57027R398
|
|
babaa7d2
|
2022-08-24T16:10:47
|
|
Fixed PS3 accelerometer values on little endian systems
|
|
05983fb8
|
2022-08-24T15:03:12
|
|
Add Mayflash PC043 adapter
|
|
e7332cd8
|
2022-08-24T15:28:56
|
|
Fixed zero CRC matching in the controller mapping database
|
|
a4f84803
|
2022-08-24T20:42:08
|
|
Disable fileXio and patch fio
|
|
00452e47
|
2022-08-24T11:25:13
|
|
Adding SDL_GetWindowSizeInPixels for window size in pixels (#6112)
|
|
70c781c8
|
2022-08-24T10:25:56
|
|
Fixed build warning because of redefining string functions
|
|
5f79cd16
|
2022-08-24T18:50:02
|
|
Fixed spacing
|
|
dd68eb5c
|
2022-08-24T17:57:52
|
|
free drm prop before returning
|
|
97034471
|
2022-08-24T09:39:01
|
|
Fixed the Nintendo Switch Pro mappings on iOS/tvOS
|
|
1fc7f681
|
2022-08-24T06:38:36
|
|
Document that it's not possible to use the HIDAPI driver for PS3 controllers on Windows
|
|
645b0f6a
|
2022-08-24T01:30:29
|
|
Enable HIDAPI PS3 support by default on macOS
|
|
3ed8e219
|
2022-08-24T01:25:14
|
|
Fixed building HIDAPI libusb support on Windows
|
|
3d62ebdb
|
2022-08-24T00:34:30
|
|
Fixed HIDAPI PS3 support on macOS
|
|
aaee6e24
|
2022-08-23T22:56:32
|
|
Added missing file
|
|
b6f96b69
|
2022-08-23T22:45:37
|
|
Initial HIDAPI driver support for the PS3 controller
|
|
50c5d23f
|
2022-08-23T07:42:48
|
|
Round coordinates so very small floating point values don't turn into 0x80000000
e.g. SDL_RenderDrawLineF(renderer, -1e20, -1e20, 10, 10);
Fixes https://github.com/libsdl-org/SDL/issues/6116
|
|
b6a3d762
|
2022-08-23T07:24:21
|
|
Look up mappings by GUID in two passes: first with CRC, second without
|
|
277b033e
|
2022-08-22T19:28:21
|
|
Refactor joystick GUID creation
|
|
aae566e1
|
2022-08-23T02:26:29
|
|
Use SDL_bool
|
|
e3ea9b5b
|
2022-08-23T00:37:43
|
|
restore vrr state on exit
|
|
450e9857
|
2022-08-22T17:58:41
|
|
Use SDL_TRUE and SDL_FALSE
|
|
605b50fc
|
2022-08-22T17:49:49
|
|
kmsdrm: added missing checks
|
|
c1e08739
|
2022-08-22T16:46:55
|
|
Added the CRC of the joystick name to the GUID
This will make it possible to have mappings for different controllers
that have the same VID/PID. This happens frequently with some generic
controller boards that have been reused in many products.
Fixes https://github.com/libsdl-org/SDL/issues/6004
|
|
20715fa0
|
2022-08-22T17:09:42
|
|
Fixed build errors
|
|
92b3c53c
|
2022-08-22T16:25:25
|
|
Added a hint SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE to control whether to use system mouse acceleration on raw relative motion.
This is currently only implemented on Windows, and "Enhanced pointer
precision" mode is not quite correct.
|
|
d166f5ef
|
2022-08-22T14:10:54
|
|
Fixed uninitialized variable warning
|
|
b2819e43
|
2022-08-22T13:10:57
|
|
Send SDL_CONTROLLERDEVICEREMOVED for all joysticks because we don't know after the fact whether it was a game controller.
Fixes https://github.com/libsdl-org/SDL/issues/2092
|
|
0e61c106
|
2022-08-22T12:49:41
|
|
Don't calculate relative mouse motion if we don't have a valid position
Fixes https://github.com/libsdl-org/SDL/issues/1928
|
|
b204db1e
|
2022-08-21T18:06:11
|
|
cocoa: change Shape data to use ObjC objects instead of C structs.
Fixes #6089
|
|
057086e3
|
2022-07-15T13:44:49
|
|
wayland: Add high resolution scroll wheel support
Update the Wayland core protocol spec file and add support for the new axis_value120 event to handle high resolution scroll wheels.
The axis_value120 replaces the axis_discrete event, which is no longer sent as of version 8 of the protocol. Note that unlike the axis_discrete event, no mention in the spec is made regarding how many axis_value120 events may occur per-axis per-frame, so the values are accumulated and committed when the pointer frame event occurs.
|
|
d731ad76
|
2022-07-15T10:44:38
|
|
wayland: Fix include order when building with libdecor
The libdecor header internally includes wayland-client.h, which pulls in the wayland-client-protocol.h file from the system include path and overrides the local one generated from the included Wayland protocol spec files. Move the Wayland protocol header inclusion above the libdecor header inclusion to ensure that the locally generated protocol header is used instead.
|
|
4ca7b378
|
2022-08-21T11:35:14
|
|
x11: Specify windowed dimensions when creating fullscreen windows.
This lets the window manager adjust the window correctly if it ever
leaves fullscreen mode.
Fixes #5725.
|
|
ffab1396
|
2022-08-19T17:28:31
|
|
Fixed minimized window detection when handling WM_WINDOWPOSCHANGED
When minimizing a window, we get this sequence of events:
WM_WINDOWPOSCHANGING
WM_GETMINMAXINFO
WM_NCCALCSIZE
WM_WINDOWPOSCHANGED - IsIconic() is true
WM_MOVE
WM_SIZE - SDL sees minimized state here
When restoring a window, we get this sequence of events:
WM_WINDOWPOSCHANGING
WM_GETMINMAXINFO
WM_NCCALCSIZE
WM_NCPAINT
WM_ERASEBKGND
WM_WINDOWPOSCHANGED - IsIconic() is false
WM_MOVE
WM_SIZE - SDL sees restored state here
On Windows 10 a minimized window has a non-empty client rect, so we were delivering a minimized size before SDL knows that the window is minimized, and then ignoring the restored size when handling the restore message.
The fix is to use IsIconic() which returns the correct window state when WM_WINDOWPOSCHANGED is actually delivered.
|
|
5a3adbfd
|
2022-08-19T11:11:25
|
|
Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED to control whether the player LED is set on Xbox 360 controllers
|
|
52b6899a
|
2022-08-19T11:11:23
|
|
Added hints for more fine grained control over HIDAPI Xbox controller support
|
|
2b93f6e1
|
2022-05-20T09:55:06
|
|
cocoa/uikit: Use VK_EXT_metal_surface in Vulkan_GetInstanceExtensions
Replaces VK_MVK_macos_surface and VK_MVK_ios_surface
|
|
029a9b2f
|
2022-05-19T12:57:35
|
|
cocoa/uikit: Support VK_EXT_metal_surface
Uses VK_EXT_metal_surface (vkCreateMetalSurfaceEXT)
when possible, otherwise falls back to the obsoleted
VK_MVK_macos_surface and VK_MVK_ios_surface.
Fixes #3906
|
|
ad874536
|
2022-08-17T14:56:18
|
|
kmsdrm: enable vrr on displays that support it
|
|
6e9c14e5
|
2022-08-19T09:38:42
|
|
Updated to version 2.25.0 for development
|
|
8c9beb0c
|
2022-08-19T08:44:09
|
|
Updated to version Updated to version 2.24.0 for release
|
|
6e007c36
|
2022-08-18T19:05:55
|
|
Add null termination to Wayland_data_source_get_data() if requested
Fixes https://github.com/libsdl-org/SDL/issues/6083
|
|
948dbe7d
|
2022-08-18T16:24:20
|
|
Don't include the null terminator in Wayland clipboard text
Fixes https://github.com/libsdl-org/SDL/issues/6083
|
|
3bae2d57
|
2022-08-18T12:39:47
|
|
wayland: Set the libdecor app ID after visibility calls
Set the frame app ID after toggling visibility or the name displayed in window manager task switchers may not display correctly.
|
|
8acb4e45
|
2022-08-17T14:25:30
|
|
Fixed interactions between mouse capture and grab on X11
Fixes https://github.com/libsdl-org/SDL/issues/6072
|
|
7da74eb5
|
2022-08-17T14:59:23
|
|
wayland: Never commit with an undefined window title
If libdecor performs a commit with the frame title being undefined, a crash can occur within the library or its plugins. Always ensure that the title is set to a valid string to avoid this.
|
|
09b6956d
|
2022-08-16T15:08:10
|
|
opengl: Support NV12 textures on GPUs with only 2 texture units
|
|
2fcd8f88
|
2022-08-16T14:19:26
|
|
Handle SDL_PIXELFORMAT_EXTERNAL_OES in SDL_GetPixelFormatName()
|
|
9670d2bb
|
2022-08-15T17:27:33
|
|
Make sure we hold the joystick lock when disconnecting a HIDAPI joystick
This prevents crashes when calling SDL joystick API functions from a different thread while disconnection is happening.
See https://github.com/libsdl-org/SDL/issues/6063 for a more thorough review of joystick locking.
|
|
26948f01
|
2022-08-15T20:09:09
|
|
cocoa: Make SDL_MinimizeWindow() work with borderless windows.
Fixes #6046.
|
|
650612fd
|
2022-08-13T16:54:27
|
|
wayland: Eliminate excessive calls to SetFullscreen
Eliminate excessive calls to SetFullscreen by removing the calls in the libdecor and xdg-toplevel config callbacks.
These calls were being made there in case something explicitly called the window minimization function from within SDL, which unsets fullscreen, and as minimizing a window in Wayland is just a suggestion to the compositor and doesn't actually change the window state or communicate anything back to the application, it was necessary to call SetFullscreen in every call to the config functions just in case something minimized a window via SDL_MinimizeWindow() and later needed to restore it. GNOME in particular had issues when fullscreen set/unset operations were being hammered, leading to overlapping acks and commits when switching to fullscreen.
With the new video system flag to disable unsetting fullscreen when minimizing a window, these calls in the configuration functions are no longer needed and can be removed. This significantly reduces calls to the SetFullscreen() function, reverts #6044 while fixing the issue, and fixes a similar problem when hiding and showing a window initially created with fullscreen flags.
|
|
cc9cc202
|
2022-08-13T16:43:15
|
|
video: Add video device quirk flags and apply them to the video subsystem
Add quirk flags to the video device struct and add flags to allow video backend drivers to disable mode switching and disable unsetting the fullscreen mode when minimizing a window. As certain platforms can have multiple video backends compiled in at once, #ifdefs, as used by other platforms, aren't suitable as different backends on the same platform may not need the same quirks.
This replaces the formerly dedicated 'disable_display_mode_switching' boolean as additional quirks are needed by the Wayland backend. Helper functions have also been added to simplify reading the flag states.
|
|
0cc8dfdb
|
2022-08-15T07:44:56
|
|
Added SDL_system.h for the declaration of SDL_iPhoneSetAnimationCallback() and SDL_iPhoneSetEventPump()
|
|
c6c688ab
|
2022-08-14T14:55:32
|
|
Add SDL_JOYBATTERYUPDATED event to SDL_JoystickEventState()
|
|
b72cf207
|
2022-08-14T09:41:42
|
|
core: linux: Don't cache the RealtimeKit D-Bus connection
If the D-Bus subsystem is shutdown and restarted mid-execution, the cached connection will be invalid. Fetch it each time that it is used to ensure that the connection is always from the current context.
|
|
7d5ccae2
|
2022-08-14T12:15:55
|
|
Fix memory leak when destroying texture
|
|
5b4b4fa1
|
2022-08-14T12:01:56
|
|
Decrease audio thread priority when created
|
|
cb46e1b3
|
2022-08-12T20:51:44
|
|
Removed unused variable
|
|
67cb3874
|
2022-08-12T20:51:28
|
|
Fixed potential uninitialized variable usage
|
|
74bdb211
|
2022-08-12T22:01:12
|
|
wayland: Don't roundtrip in ShowWindow unless restoring a hidden window
Don't call the roundtrip in ShowWindow unless restoring a previously hidden window. This fixes a regression in GNOME when creating a window with the fullscreen flag set, as the fullscreen window will be positioned down the screen by the height of the top bar if the window is made fullscreen on the primary display and the roundtrip is called when initially displaying the window.
|
|
3046d55d
|
2022-08-12T22:02:26
|
|
cocoa: Return an error if GetWindowDisplayIndex() is called too early
SDL_CreateWindow() may call GetWindowDisplayIndex() to compute the position
of a new window that the caller has requested to be placed on a certain
display. Since we haven't fully constructed the window yet, our driverdata
will be nil and we will fail to get the NSScreen (which is fine). However,
we need to return an error (not 0, which is a valid display index) for
SDL_GetWindowDisplayIndex() to know to figure out the display index itself.
Fixes positioning new windows on secondary displays when using
SDL_WINDOWPOS_CENTERED_DISPLAY() and SDL_WINDOWPOS_UNDEFINED_DISPLAY().
|
|
f1416ef2
|
2022-08-12T20:27:22
|
|
Updated to version 2.23.2 for release candidate
|
|
08d17f47
|
2022-08-12T20:26:23
|
|
Removed unused variable
|
|
be0cf257
|
2022-08-12T18:13:42
|
|
Only force the resize event in the DPI changed case
OpenGL windows don't actually get the WM_WINDOWPOSCHANGED event in the SetWindowPos() call in WIN_SetWindowFullscreen(), so setting the window size to zero never gets reset and we're stuck with a zero sized window.
Instead, just force the resize event in WM_DPICHANGED handling, where we know we need it. If we end up needing to force it in WIN_SetWindowFullscreen(), just set a flag in the window data and respond to that in WM_WINDOWPOSCHANGED, but that's a fairly risky behavior change as suddenly all applications would start getting SDL_WINDOWEVENT_SIZE_CHANGED when going fullscreen, and they may respond to that in expensive and potentially disruptive ways.
For later we'll probably create a DPI changed event and respond to that in the renderer instead of this window size changed hack.
This fixes https://github.com/libsdl-org/SDL/issues/6033 @ericwa
|
|
b880709e
|
2022-08-12T18:11:27
|
|
Added libusb hack for Gamesir-G3w which needs the same adjustment as the Hori controllers
|
|
1b08cd20
|
2022-08-12T18:55:05
|
|
wayland: Add roundtrip in SetWindowFullscreen() to get new size
The video core assumes that window->w/h will be updated before returning
from SetWindowFullscreen(). This is needed to generate a resize event
with the correct window size when exiting fullscreen.
The roundtrip allows us to receive the configure callback that informs
us of the new window size before returning.
Fixes #6043
|
|
780b031b
|
2022-08-12T16:39:39
|
|
wayland: Avoid duplicate resize events when entering fullscreen
|