|
8982d9f4
|
2022-04-18T21:19:25
|
|
windows: Fix RoInitialize() failure after a CoInitializeEx() call using apartment threading
This mirrors the same codepath in WIN_CoInitialize() which handles STA and MTA.
|
|
923cb446
|
2022-04-20T21:02:40
|
|
windows: Fix calling convention for RoInitialize/RoUninitialize
Fixes #5563
|
|
d4a01bfe
|
2022-04-20T14:07:30
|
|
os2: SDL_DestroyMutex should ignore NULL mutexes.
Every other backend does this, so this should match, now.
It's possible this was harmless, but we can avoid the system call
and the (likely?) debug message when it fails, though!
|
|
a40405d7
|
2022-04-20T18:06:02
|
|
hidapi: Wrap CopyHIDDeviceInfo in define checks.
The purpose of this is to silence a 'defined but not used'
warning.
|
|
5d4a1f83
|
2022-04-20T05:45:35
|
|
WhatsNew.txt: Add SDL_FRectEqualsEpsilon()
|
|
5bc29334
|
2022-04-20T15:53:25
|
|
test: Basic tests for SDL_FRectEquals
Based on the integer version. These tests mostly check that input
isn't mangled and that invalid input gives the expected negative
result.
|
|
fc944859
|
2022-04-20T05:46:45
|
|
SDL_Rect: Use a default epsilon in SDL_FRectEquals()
Add SDL_FRectEqualsEpsilon() for when more control over
equality test is required.
|
|
00feca27
|
2022-04-20T07:51:04
|
|
Add SDL_FLT_EPSILON.
|
|
aeadbdd7
|
2022-04-20T09:00:00
|
|
Remove an unused function prototype
|
|
c8c59a21
|
2022-04-20T08:58:58
|
|
Fix a -Wshadow warning
|
|
d9009388
|
2022-04-19T14:55:58
|
|
SceKernelMemBlockType to unsigned int
|
|
3753a7b1
|
2022-04-19T14:42:39
|
|
Fix recent changes in VitaSDK
|
|
02225aa7
|
2022-04-18T22:57:03
|
|
Fixed build
|
|
49a2e4b0
|
2022-04-19T00:36:53
|
|
x11: Revert "Fix keymap updating for X11 backend"
This reverts commit de6d290266d1def0eef9df81bf9be41c12a98c61.
This patch had multiple issues, discussed in #5520.
|
|
b9fe6ba0
|
2022-04-18T13:08:04
|
|
Fixed compile warnings
|
|
57927a24
|
2022-04-18T12:57:28
|
|
Don't call scandir() inside of scandir()
This works around a crash in address sanitizer
|
|
1ede941f
|
2022-04-18T21:09:48
|
|
SDL_render.c: internally change viewport/cliprect type from SDL_FRect to SDL_DRect (double precision). (see bug #5547)
|
|
9919d1a7
|
2022-04-18T11:51:09
|
|
Remove HWND_TOPMOST for fullscreen windows
Fixes https://github.com/libsdl-org/SDL/issues/5509
|
|
009a0ff9
|
2022-04-12T14:33:12
|
|
use explicit GetModuleFileNameW
|
|
de711e16
|
2022-04-12T10:32:43
|
|
simplify SDL_GetBasePath on windows
- use GetModuleFileName directly (as recommended)
|
|
7c140429
|
2021-08-03T07:18:02
|
|
Enable evdev-based gamecontrollerdb on FreeBSD
|
|
e7b01ee7
|
2022-04-18T09:55:52
|
|
Added controller mapping for the Thrustmaster Dual Analog 3.2 on Linux
|
|
2b529461
|
2022-04-15T11:51:02
|
|
video: Don't minimize fullscreen windows on focus loss by default when mode switching is disabled
When mode switching is disabled in a video backend, fullscreen windows are basically just fullscreen desktop windows with different internal scaling. As no mode switching occurs, there's no need to minimize them on focus loss by default. This can still be overridden by explicitly setting the internal hint for minimizing on focus loss.
This has the side effect of fixing a bug on GNOME, where, when a fullscreen Wayland window has it's focus lost and restored via alt+tab followed by switching back to windowed mode, the top portion of the window won't end up being obstructed by GNOME's top bar.
|
|
c37090f9
|
2022-04-18T12:30:08
|
|
wayland: Add support for TOOLTIP/POPUP_MENU
|
|
9e264b92
|
2022-04-18T09:20:47
|
|
Certain audio drivers, like the RME "Pro" Audio driver, have resampling quality issues when using WASAPI.
We'll use SDL's resampling algorithm so we have consistent quality between platforms and drivers.
Fixes https://github.com/libsdl-org/SDL/issues/5538
|
|
254fcc90
|
2022-04-18T09:03:14
|
|
Revert "video: Prefer Wayland over X11"
This reverts commit 8ceba27d6291f1195e13608033ec439aec621fc6.
SDL Wayland support is stable, but there are a number of issues with third-party software (NVIDIA drivers, libwayland event overflow, libdecor not handling plugin load failures, Steam overlay not working with Wayland, etc.) that make it better to default to X11 at this time.
Games which would like to prefer wayland when available can use the following code before SDL_Init():
SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11");
Fixes https://github.com/libsdl-org/SDL/issues/5527
|
|
c1336b21
|
2022-04-17T12:43:32
|
|
hints: Make SDL_VIDEODRIVER and SDL_AUDIODRIVER formal hints.
They were just environment variables before.
Fixes #5528.
|
|
634b9edc
|
2022-04-15T20:50:55
|
|
cmake: Fixed indenting and some oldschool `endif(TEXT)` things.
|
|
dc5bc523
|
2022-04-15T17:11:29
|
|
Added CMake option to disable the installer
|
|
67e0f546
|
2022-04-15T18:24:57
|
|
x11: Update the display when the WM changes a window's fullscreen state.
Fixes #5390.
|
|
13393a1c
|
2022-04-15T14:28:07
|
|
video: Wayland: Clamp fullscreen window dimensions to desktop
A scaled fullscreen window may exceed the bounds of the desktop. Clamp the window size to the desktop dimensions in fullscreen mode.
|
|
edb473cf
|
2022-04-15T15:03:28
|
|
video: Wayland: Always round scaled pointer coordinates down
Rounding up can cause the pointer coordinates to exceed the window boundaries at the right and bottom edges.
|
|
0adb6701
|
2022-04-12T09:01:17
|
|
avoid NullPointer in SDL_GetRenderTarget
|
|
01b14e14
|
2022-04-12T08:49:19
|
|
avoid NullPointer in SDL_GL_MakeCurrent
|
|
55a4e1d3
|
2022-04-12T18:34:32
|
|
CI: update os2.yml to use open-watcom/setup-watcom
also remove os2-buildbot.sh -- not needed anymore.
|
|
c36bd784
|
2022-04-13T12:10:49
|
|
WhatsNew.txt: Document new dependency on libwayland-client 1.18.0
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
46616af7
|
2022-04-12T11:53:40
|
|
WhatsNew.txt: Added SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR
|
|
9c2f46b0
|
2022-04-12T15:23:22
|
|
Wayland: Add SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR
This hint allows libdecor to be used even when xdg-decoration is
available. It's mostly useful for debugging libdecor, but could in
theory be used by applications which want to (for example) bundle their
own libdecor plugins.
|
|
99ae6395
|
2022-04-12T10:04:05
|
|
Initialise scandir argument
'scandir' does not initialise 'entries' on error
|
|
68b6fff2
|
2022-04-12T14:05:06
|
|
test: Copy utf8.txt to build directory
testiconv wants this.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
b4256d03
|
2022-04-12T14:25:26
|
|
testevdev: Adapt to a broader definition of keyboards
At the time I contributed this unit test, SDL had a relatively narrow
definition of what is a keyboard, approximately matching udev
ID_INPUT_KEYBOARD. Now it uses the equivalent of udev ID_INPUT_KEY,
which matches anything with keyboard keys, and not just reasonably
complete alphanumeric keyboards.
Fixes: 040bd7a9 "Fix udev not detecting ID_INPUT_KEY devices when udev is not running"
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
c2946902
|
2022-04-12T14:16:29
|
|
testevdev: Recognise touchpads as such
At the time I contributed this unit test, SDL didn't understand Linux
touchpads, but now it does.
Fixes: 373216ae "Added support for touchpads in the Linux evdev code"
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
f708cebe
|
2022-04-12T15:35:32
|
|
fix os2 timer in fallback mode
|
|
b7599613
|
2022-04-11T23:31:09
|
|
Vita: fix VIDEO_VITA_PVR flag
|
|
b1831715
|
2022-04-11T12:09:40
|
|
UWP: Require Windows 10 16299 or newer.
This is required to build with WGI support. Thanks for @FrozenChameleon for the fix!
Fixes #5504
|
|
727eef70
|
2022-04-09T10:12:49
|
|
audio: SDL_ConvertStereoToMono_SSE3 missed an unaligned load.
|
|
505d6a4a
|
2022-04-08T18:18:56
|
|
Update version to 2.0.22 for release
|
|
a256e6ba
|
2022-04-08T18:10:56
|
|
Updated the patch notes with API changes for 2.0.22
|
|
6d7d142b
|
2022-04-08T18:10:38
|
|
Fixed typo
|
|
c2093fab
|
2022-04-08T13:58:45
|
|
video: wayland: Set the surface damage region when using fullscreen viewports
When using emulated display modes, the output size is often larger than the drawable buffer. As the surface damage region is automatically calculated from the smaller drawable buffer size, the damage region needs to be manually set to cover the entire viewport region or visual repaint artifacts can result.
|
|
ba0ba9ef
|
2022-04-08T01:20:36
|
|
direct3d11: Set the swapchain target immediately after creating it.
Fixes #4782
|
|
cb816308
|
2022-04-08T02:21:52
|
|
render: Update the size/scale/viewport on moves, in addition to resizes.
For OpenGL this means resetting the viewport state shadowing flag too.
Fixes #1504
|
|
5613a560
|
2022-04-07T11:32:22
|
|
Make sure the UIKit message box is being handled on the main thread
Potentially fixes https://github.com/libsdl-org/SDL/issues/4865
|
|
2823534f
|
2022-04-07T20:11:50
|
|
minor adjustment to os/2 watcom makefile
|
|
49b9e347
|
2022-04-07T08:24:03
|
|
Only update modifier state for keys that are pressed in another application
Fixes https://github.com/libsdl-org/SDL/issues/4432
|
|
85977354
|
2022-04-07T09:14:33
|
|
x11: Treat WM setting the window "fullscreen" like FULLSCREEN_DESKTOP.
Fixes #5390.
|
|
6dbca7c9
|
2022-04-06T20:48:41
|
|
Compile with recursive mutexes for emscripten
Emscripten actually does support recursive mutexes, so no need to use SDL's fake recursive code.
Background: #5428, #5479
|
|
64c7896f
|
2022-04-06T20:56:10
|
|
Makefile.in: added missing CXX variable.
|
|
d1f7f9e3
|
2022-04-06T11:18:46
|
|
wayland: Pin the fake window position at (0, 0).
I kind of thought it'd be nice to have it in the center, but this is an issue
for applications that still assume global mouse and window positions are
accessible. For example, this fixes cursor offset issues in UE5.
|
|
279aeb59
|
2022-04-06T01:32:57
|
|
wayland: Add a bug link for the detach FIXME
|
|
3ada694e
|
2022-04-06T01:18:03
|
|
wayland: Try to detach at the beginning of ShowWindow, just in case.
It's possible that an external component (probably a GL/VK context) committed, so we need to cover our bases and detach in both HideWindow and ShowWindow.
Fixes a crash in UE5 editor's pop-ups.
|
|
dcfb7fff
|
2022-04-06T00:55:32
|
|
wayland: Evaluate WINDOWPOS_CENTERED_DISPLAY for move events
Partially fixes the mouse cursor in UE5 editor. Imperfect because UE5 uses window position and global mouse state to get position, but of course we don't have global mouse and this is just to get the right display index so this still fails overall. We really need to make global mouse support a feature query...
|
|
7ea1b69d
|
2022-04-05T21:00:07
|
|
Sort controllers by the js* index on Linux
Also fixed the initial scan to directly scan devices instead of using
udev so they can be sorted, as intended.
Fixes https://github.com/libsdl-org/SDL/issues/4688
|
|
0249df9d
|
2022-04-05T23:04:19
|
|
x11: Try to keep SDL_WINDOW_FULLSCREEN* in sync with window manager.
So if Gnome/KDE/etc have a keyboard shortcut or titlebar decoration to
make any window go fullscreen (with the _NET_WM_FULLSCREEN flag on the
_NET_WM_STATE property), we update the SDL window flag.
Fixes #5390.
|
|
eb660e86
|
2022-04-05T19:43:42
|
|
Cache the fact that a device didn't look like a joystick
Fixes https://github.com/libsdl-org/SDL/issues/5211
|
|
138d96c8
|
2022-04-05T19:30:25
|
|
Send key release event to input method. (#5281)
Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
|
|
8bae343f
|
2022-04-05T22:19:25
|
|
x11: when waiting on fullscreen changes, not window position _and_ size.
This makes sure the window doesn't have outdated values if you try to access
them (or call something that does, like SDL_SetWindowMinimumSize).
Fixes #5233.
|
|
268c2fa8
|
2022-04-05T18:42:17
|
|
Don't resize fullscreen windows when hiding or minimizing them (thanks @madewokherd!)
This has the benefit of window previews (mousing over the icon) having the correct size and contents.
Fixes https://github.com/libsdl-org/SDL/issues/5320
|
|
def27267
|
2022-02-05T12:32:06
|
|
Ignore focus change messages that contradict GetForegroundWindow.
On Wine, when a window is programmatically minimized in response
to losing focus, we receive a WM_ACTIVATE for the deactivation,
but GetForegroundWindow still indicates that our window is focused.
This causes an incorrect SDL_WINDOWEVENT_FOCUS_GAINED.
This is probably a Wine bug, but it may take a while to fix and
then for the fix to make its way to users.
|
|
ff5b67e5
|
2022-01-30T16:29:05
|
|
IBus should use ev keycode instead of X keycode
See: https://github.com/ibus/ibus/blob/5a455b1ead5d72483952356ddfe25b9e3b637e6f/client/gtk2/ibusimcontext.c#L468
|
|
27fc582b
|
2022-04-05T15:11:49
|
|
Minor cleanup
|
|
86acb1a3
|
2022-04-05T15:05:07
|
|
Handle interaction between auto capture and the SDL_CaptureMouse() API
Fixes https://github.com/libsdl-org/SDL/issues/5457
|
|
0e198a87
|
2022-04-05T15:03:18
|
|
Added a define VERBOSE_MOTION_EVENTS to show mouse and finger motion events
|
|
006a5a9e
|
2022-03-28T21:01:06
|
|
testgles2: Fix buffer object sizes
|
|
a5672b85
|
2022-04-05T11:10:41
|
|
x11: Wait a bit to see if window pos changes when changing fullscreen.
Helps prevent window from moving to 0,0 when leaving fullscreen.
Fixes #4749.
|
|
45372b1c
|
2022-04-04T21:36:25
|
|
x11: Don't unload libGL.so to prevent a crash in XCloseDisplay()
libGL.so may register callbacks that can be invoked upon XCloseDisplay().
If XCloseDisplay() is called after libGL.so is unloaded, the callback pointer
will point at freed memory and invoking it will crash.
The texture framebuffer check optimized out in f37e4a9 was causing libGL.so to
never be unloaded as a side-effect. Skipping it exposed this bug by allowing
libGL.so to actually unload.
|
|
7b3449b8
|
2022-04-04T20:46:56
|
|
Minor cleanup
|
|
6cd444f0
|
2022-04-02T21:28:56
|
|
Visualise scroll wheel events in testmouse
|
|
57118fb7
|
2022-04-02T13:49:50
|
|
render: Fix setting the scale mode for non-native textures
|
|
312c899f
|
2022-04-02T03:32:10
|
|
attempt to fix uwp build
|
|
c0bb39e5
|
2022-04-02T02:50:02
|
|
check for HAVE_ROAPI_H in cmake and autotools, and
update SDL_config_windows.h and SDL_config_winrt.h
|
|
575dadb1
|
2022-04-02T02:20:02
|
|
fix build against older SDKs after commit 8ebef12.
|
|
8ebef12d
|
2022-04-01T14:58:33
|
|
Use RoInitialize/RoUninitialize for Windows.Gaming.Input
Thanks @walbourn!
Fixes https://github.com/libsdl-org/SDL/issues/5270
|
|
1c9299b0
|
2022-04-01T08:12:31
|
|
Add SDL_list to macosx xcode
|
|
78834b50
|
2022-04-01T08:01:44
|
|
Add SDL_list.c/h
|
|
ad6bc521
|
2022-04-01T07:59:16
|
|
Move SDL_List functions to SDL_list.c to avoid more merge with eventual PR
|
|
0d7edcb7
|
2022-03-31T16:15:51
|
|
Fixed loading 32-bit BMP files
|
|
ea7d5307
|
2022-03-31T14:11:52
|
|
emscripten: Proxy SDL_GetUsableDisplayBounds to the main thread.
|
|
fe79eb2f
|
2022-02-26T20:46:52
|
|
emscriptenframebuffer: fix formatting
|
|
268cc2a4
|
2022-02-26T20:42:54
|
|
emscriptenmouse: remove useless return statement
|
|
3136a530
|
2022-02-25T14:26:23
|
|
fix formatting and cast warnings
Co-authored-by: Charlie Birks <charlie@daftgames.net>
|
|
40415859
|
2022-02-25T00:12:33
|
|
emscriptenmouse: remove old extra `_INT`
|
|
4dca8f7f
|
2022-02-24T21:09:03
|
|
SDL2 thread proxying fixes
This PR uses new APIs added in [emscripten-core/emscripten#9336](https://github.com/emscripten-core/emscripten/pull/9336)
to improve compatibility with USE_PTHREADS=1.
Original PR: https://github.com/emscripten-ports/SDL2/pull/127
By: @jakogut
Reviewed by: Daft-Freak
|
|
1c7bf478
|
2022-03-31T10:09:02
|
|
x11: Ignore BadValue for extremely small XRRSetScreenSize resolutions.
Reference Issue #4840.
|
|
db718998
|
2022-03-31T13:44:06
|
|
Vita: fix readme
|
|
95c0fec5
|
2022-03-31T12:35:17
|
|
Vita: PVROGL: fix indentation and ifdef guards
|
|
b5700ab3
|
2022-03-29T19:32:21
|
|
Cleanup Spaces
|
|
8e5adc62
|
2022-03-29T19:18:06
|
|
Update README-vita.md
|
|
8c542a35
|
2022-03-29T19:08:56
|
|
Desktop OpenGL 1.X/2.X PSVita Support
|
|
2c04df8d
|
2022-03-30T18:33:38
|
|
joystick: Fix rumble issues on PS5 HIDAPI controllers
We were returning the report size from HIDAPI_DriverPS5_RumbleJoystick() rather
than 0 upon success, causing SDL_JoystickRumble() (and callers) to think that
rumbling failed.
This didn't cause major problems until 1868c5b, when it started preventing
rumble state from being persisted in the joystick core, even though it was
successfully sent to the hardware.
This led to all sorts of strangeness, including broken rumble duration and
attempts to stop rumble being discarded.
|