|
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
|
|
a28f426a
|
2022-08-12T16:13:24
|
|
render: Only update size/scale/viewport when moving to a new display, rather than all window movement.
We really only care about DPI changes here, so this both reduces work and also avoids weird cases where viewport state can be corrupted by trivial window events. This doesn't _completely_ get rid of the issue but this is somewhat intentional, since apps will definitely want to do a full reset when changing displays anyhow (otherwise DPI/adapter changes will screw things up, and that's out of our control as long as both window size and drawable size are exposed at the same time.
Note that OpenGL still captures window events because of weird platform-specific issues like macOS and viewport stretching!
Fixes #5949
|
|
cfbeb438
|
2022-08-12T21:05:37
|
|
fix a bug if XINPUTGETBATTERYINFORMATION is nullptr
|
|
f42291ce
|
2022-08-11T16:13:14
|
|
Don't change mouse capture based on touch events
Fixes https://github.com/libsdl-org/SDL/issues/5652
|
|
bf925b9e
|
2022-08-11T14:41:48
|
|
Fixed build
|
|
24f97dd7
|
2022-08-11T14:39:49
|
|
Added an SDL error to SDL_GameControllerMapping* functions
|
|
9f30d498
|
2022-08-11T14:27:08
|
|
Added note about CRC algorithm compatibility
|
|
3861c557
|
2022-08-11T13:58:39
|
|
Added the hint SDL_HINT_MOUSE_RELATIVE_WARP_MOTION
This hint controls whether mouse warping generates motion events in relative mode, and defaults off.
Fixes https://github.com/libsdl-org/SDL/issues/6034
Fixes https://github.com/libsdl-org/SDL/issues/5741
|
|
b4c4dd84
|
2022-08-11T09:52:58
|
|
Added SDL_crc16() to be used in joystick GUIDs after 2.24.0
|
|
a1e34b5e
|
2022-08-11T08:52:51
|
|
Don't send a resize event when the window is resized to the dock icon
Partially addresses https://github.com/libsdl-org/SDL/issues/6033
|
|
879af7b5
|
2022-08-10T14:01:23
|
|
Fixed mapping for paired Joy-Con controllers on iOS
|
|
5f682e77
|
2022-08-10T20:01:15
|
|
wayland: Remove freed display from `SDL_WaylandOutputData->output_list`
|
|
e49321ce
|
2022-08-10T08:20:54
|
|
Fixed double-free in combined HIDAPI controller code
|
|
d4192850
|
2022-08-10T07:59:12
|
|
Added SDL_ResetHint() to reset a hint to the default value
Resolves question of how to clear an override hint raised by @pionere in https://github.com/libsdl-org/SDL/pull/5309
|
|
3119d58f
|
2022-08-10T10:48:23
|
|
cocoa: Change the new sync_dispatch hint to async_dispatch.
This is so the default is safer.
|
|
c6c0a839
|
2022-08-10T09:54:49
|
|
windows: If a display's friendly name is blank, try the generic name.
Fixes #6031.
|
|
9ff498e7
|
2022-08-10T06:00:30
|
|
Make HIDAPI_JoystickOpen() more robust against internal logic errors
Fixes https://github.com/libsdl-org/SDL/issues/6030
|
|
bdc7f958
|
2022-08-10T00:41:25
|
|
cocoa: Added hint to treat MacBook trackpads as touch devices, not mice.
Fixes #5511.
|
|
8e782876
|
2022-08-09T21:30:11
|
|
Fixed spamming the controller with reset IMU commands when they are failing
|
|
eab27b90
|
2022-08-09T17:58:42
|
|
Make sure Switch controller initialization is synchronous and start the input timeout then
|
|
b4660e9d
|
2022-08-10T03:40:00
|
|
macOS: Add hint for blocking thread on OpenGL context update dispatch (#5708)
|
|
7eb13c21
|
2022-08-10T02:27:25
|
|
improve behavior of SDL_SetHint(WithPriority) (#5309)
|
|
1db7d33d
|
2022-08-09T17:04:26
|
|
Recover from Bluetooth devices temporarily out of range
|
|
6d012b2a
|
2022-08-09T16:54:11
|
|
Better fix for rescanning devices after read failure
|
|
483a010f
|
2022-08-09T15:39:39
|
|
Fixed accidentally deadlocking the rumble thread with combined Joy-Cons
Also added more accurate check for sensor data. At least one axis will always have acceleration because of gravity.
|
|
5d63a3d4
|
2022-08-09T14:06:49
|
|
Re-enumerate devices if a read fails
This allows combined Joy-Con devices to immediately separate if one of them is disconnected
|
|
da50f1bd
|
2022-08-09T14:05:43
|
|
Bluetooth devices can recover from over a second of dropped reports
|
|
824f2d46
|
2022-08-09T13:41:58
|
|
Added a second hint SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED to control the Home button LED on Nintendo Joy-Con controllers separately from Nintendo Switch Pro controllers
|
|
8aa6922f
|
2022-08-09T13:25:52
|
|
Fixed detecting Bluetooth disconnection on Nintendo Switch controllers
|
|
a346c4bb
|
2022-08-09T15:41:02
|
|
egl: Add support for SDL_GL_FLOATBUFFERS.
Fixes #6001.
|
|
201484ff
|
2022-08-09T09:03:28
|
|
Don't duplicate the serial number twice if a child doesn't set one
|
|
d90c0d41
|
2022-08-09T09:00:29
|
|
Include the child serial numbers in the serial number for a HIDAPI combined device
|
|
b599205d
|
2022-08-09T09:50:55
|
|
x11: Don't look up xinput2 devices unless we're in relative mode.
|
|
2dd76598
|
2022-08-09T09:29:30
|
|
test: Fixed wrong arguments to SDL_SetWindowFullscreen.
|
|
55882e43
|
2022-08-09T00:19:02
|
|
Fixed invalid read when SDL_GameControllerSetPlayerIndex() is passed a negative player_index
|
|
df537a7c
|
2022-08-09T00:18:19
|
|
SDL_GameControllerSetPlayerIndex(gamecontroller, -1) means turn off the player LED if possible
|
|
5545be85
|
2022-08-08T23:44:50
|
|
The player LED index wraps for PS5 controllers, like it does for other controller types
|
|
593d20d9
|
2022-08-08T20:11:43
|
|
Removed debug logging
|
|
6204ae50
|
2022-08-08T20:09:49
|
|
Restart the IMU if the controller stops sending gyro/accel data
|
|
56c1481c
|
2022-08-08T20:33:44
|
|
cocoa: Don't mark fullscreen-desktop windows as non-resizable.
Otherwise, we can't tile SDL apps in Spaces.
Fixes #4883.
|
|
d58bec72
|
2022-08-08T17:19:12
|
|
Fixed Joy-Con gyro axes in mini-gamepad mode
|
|
5aa438e8
|
2022-08-08T14:52:19
|
|
WGI: fix interop with applications that have their own WGI code
QI for Added/Removed events need to handle IAgileObject
|
|
ada55c69
|
2022-08-08T15:38:19
|
|
Fixed Joy-Con type detection for the Nintendo Joy-Con Charging Grip
|
|
a547c185
|
2022-08-08T12:21:40
|
|
Fixed crash if uevent info isn't available
|
|
7530bd74
|
2022-08-08T11:26:55
|
|
Fix right, bottom computation in `SDL_GetClosestPointOnRect` which should be exclusive, not inclusive
|
|
98bac00d
|
2022-08-08T11:26:52
|
|
Add `SDL_GetPointDisplayIndex` and `SDL_GetRectDisplayIndex` and re-implement `SDL_GetWindowDisplayIndex` in terms of `SDL_GetRectDisplayIndex`
- This allows looking up the display index for an arbitrary location rather than requiring an active window to do so.
- This change also reimplements the fallback display lookup that found the display with center closest to the window's center to instead find the display rect edge
closest to the window center (this was done in the almost identical display lookup used in SDL_windowsmodes.c, which now uses `SDL_GetPointDisplayIndex`). In
practice this should almost never be hit as it requires the window's center to not be enclosed by any display rect.
|
|
20f9a1b8
|
2022-08-08T17:23:43
|
|
Implement SetTextureScaleMode
|
|
47ebf008
|
2022-08-08T08:35:56
|
|
Fixed shadow variable warning
|
|
d355ea99
|
2022-08-08T11:55:04
|
|
Add a way to avoid IOP reset
|
|
c5fe234d
|
2022-08-07T23:07:02
|
|
Improve SDL main adding usb drivers
|
|
0a307628
|
2022-08-08T13:14:48
|
|
Fix wrong mapping in some ps2 controller keys
|
|
0bcbdfe2
|
2022-06-23T16:10:41
|
|
video: dummy: Support evdev psuedo-device with no video.
|
|
8f05b4f8
|
2022-08-08T08:26:21
|
|
Fixed iOS/tvOS build
|
|
87825972
|
2022-08-08T08:22:20
|
|
Added SDL_GameControllerType enumeration for Nintendo Switch Joy-Con controllers
|
|
4f19421e
|
2022-08-07T20:17:40
|
|
Fixed build
|
|
29265d07
|
2022-08-07T18:49:30
|
|
Use SDL_GetStringBoolean() to parse the hint value
|
|
8f5932dc
|
2022-06-23T16:10:39
|
|
evdev: Support user-provided devices via SDL_EVDEV_DEVICES in non-udev mode.
|
|
198d62d8
|
2022-08-06T23:53:18
|
|
joystick: remove unused Xbox Controller Keyboard VID/PID.
0x045e, 0x0b02 - is actually virtual keyboard that is generated by XboxGip drivers for Xbox One Controllers.
Closes https://github.com/libsdl-org/SDL/pull/5121
|
|
dd2e3182
|
2022-08-06T12:31:06
|
|
wayland: Use libdecor visibility toggle for hiding/showing the window
The current method of toggling the libdecor window visibility by destroying and recreating the frame results in a race where a use-after-free bug can manifest itself within libdecor when window visibility is toggled quickly. Instead, use the libdecor function for toggling visibility instead of destroying and recreating the frame every time.
|
|
fbb440d1
|
2022-08-06T18:10:54
|
|
Invalidate texture in the UnlockTextureMethod
|
|
52bf5b1d
|
2022-08-06T10:34:19
|
|
Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED to control whether the player LED is set on Nintendo Switch controllers
|
|
f810dede
|
2022-08-06T09:50:13
|
|
Fixed comment so script processing works correctly
|
|
f600364b
|
2022-08-06T09:19:52
|
|
wayland: Mark window as MOUSE_CAPTURE while a mouse button is down.
Wayland works like SDL's "auto capture" feature already, tracking the mouse
globally only while a drag is occuring, and this is the only way to get mouse
input outside the window.
Setting this flag ourselves lets SDL_CaptureMouse() work in the most common
use case without actually implementing CaptureMouse for the backend, including
SDL's auto capture feature.
Fixes #6010.
|
|
a6179e85
|
2022-08-05T21:23:39
|
|
wayland: Don't double-free clipboard sources if ours gets cancelled.
Fixes #6007.
|
|
3da131c1
|
2022-08-05T21:07:54
|
|
Check if port if closed and open it again
|
|
5858c7df
|
2022-08-05T16:17:10
|
|
Fixed OpenGL ES Shaders for systems that don't understand precision keywords
|
|
3685c64e
|
2022-08-05T16:16:31
|
|
wayland: Round trip after window show/hide operations.
Perform a round trip after showing/hiding the window to avoid protocol errors when ShowWindow() is called immediately after HideWindow().
|