Log

Author Commit Date CI Message
Sylvain 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)
Sam Lantinga 9919d1a7 2022-04-18T11:51:09 Remove HWND_TOPMOST for fullscreen windows Fixes https://github.com/libsdl-org/SDL/issues/5509
pionere de711e16 2022-04-12T10:32:43 simplify SDL_GetBasePath on windows - use GetModuleFileName directly (as recommended)
pionere 009a0ff9 2022-04-12T14:33:12 use explicit GetModuleFileNameW
Jan Beich 7c140429 2021-08-03T07:18:02 Enable evdev-based gamecontrollerdb on FreeBSD
Sam Lantinga e7b01ee7 2022-04-18T09:55:52 Added controller mapping for the Thrustmaster Dual Analog 3.2 on Linux
Frank Praznik 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.
Ethan Lee c37090f9 2022-04-18T12:30:08 wayland: Add support for TOOLTIP/POPUP_MENU
Sam Lantinga 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
Sam Lantinga 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
Ryan C. Gordon c1336b21 2022-04-17T12:43:32 hints: Make SDL_VIDEODRIVER and SDL_AUDIODRIVER formal hints. They were just environment variables before. Fixes #5528.
Ryan C. Gordon 634b9edc 2022-04-15T20:50:55 cmake: Fixed indenting and some oldschool `endif(TEXT)` things.
Semphris dc5bc523 2022-04-15T17:11:29 Added CMake option to disable the installer
Ryan C. Gordon 67e0f546 2022-04-15T18:24:57 x11: Update the display when the WM changes a window's fullscreen state. Fixes #5390.
Frank Praznik 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.
Frank Praznik 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.
pionere 0adb6701 2022-04-12T09:01:17 avoid NullPointer in SDL_GetRenderTarget
pionere 01b14e14 2022-04-12T08:49:19 avoid NullPointer in SDL_GL_MakeCurrent
Ozkan Sezer 55a4e1d3 2022-04-12T18:34:32 CI: update os2.yml to use open-watcom/setup-watcom also remove os2-buildbot.sh -- not needed anymore.
Simon McVittie 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>
Ethan Lee 46616af7 2022-04-12T11:53:40 WhatsNew.txt: Added SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR
David Gow 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.
Mathieu Eyraud 99ae6395 2022-04-12T10:04:05 Initialise scandir argument 'scandir' does not initialise 'entries' on error
Simon McVittie 68b6fff2 2022-04-12T14:05:06 test: Copy utf8.txt to build directory testiconv wants this. Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 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>
Simon McVittie 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>
pionere f708cebe 2022-04-12T15:35:32 fix os2 timer in fallback mode
Ivan Epifanov b7599613 2022-04-11T23:31:09 Vita: fix VIDEO_VITA_PVR flag
Ethan Lee 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
Ryan C. Gordon 727eef70 2022-04-09T10:12:49 audio: SDL_ConvertStereoToMono_SSE3 missed an unaligned load.
Sam Lantinga 505d6a4a 2022-04-08T18:18:56 Update version to 2.0.22 for release
Sam Lantinga a256e6ba 2022-04-08T18:10:56 Updated the patch notes with API changes for 2.0.22
Sam Lantinga 6d7d142b 2022-04-08T18:10:38 Fixed typo
Frank Praznik 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.
Ethan Lee ba0ba9ef 2022-04-08T01:20:36 direct3d11: Set the swapchain target immediately after creating it. Fixes #4782
Ethan Lee 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
Sam Lantinga 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
Ozkan Sezer 2823534f 2022-04-07T20:11:50 minor adjustment to os/2 watcom makefile
Sam Lantinga 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
Ryan C. Gordon 85977354 2022-04-07T09:14:33 x11: Treat WM setting the window "fullscreen" like FULLSCREEN_DESKTOP. Fixes #5390.
Connor Clark 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
Ozkan Sezer 64c7896f 2022-04-06T20:56:10 Makefile.in: added missing CXX variable.
Ethan Lee 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.
Ethan Lee 279aeb59 2022-04-06T01:32:57 wayland: Add a bug link for the detach FIXME
Ethan Lee 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.
Ethan Lee 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...
Sam Lantinga 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
Ryan C. Gordon 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.
Sam Lantinga 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
Weng Xuetian 138d96c8 2022-04-05T19:30:25 Send key release event to input method. (#5281) Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
Ryan C. Gordon 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.
Sam Lantinga 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
Esme Povirk 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.
Weng Xuetian 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
Sam Lantinga 27fc582b 2022-04-05T15:11:49 Minor cleanup
Sam Lantinga 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
Sam Lantinga 0e198a87 2022-04-05T15:03:18 Added a define VERBOSE_MOTION_EVENTS to show mouse and finger motion events
capehill 006a5a9e 2022-03-28T21:01:06 testgles2: Fix buffer object sizes
Ryan C. Gordon 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.
Cameron Gutman 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.
Sam Lantinga 7b3449b8 2022-04-04T20:46:56 Minor cleanup
Christoph Reichenbach 6cd444f0 2022-04-02T21:28:56 Visualise scroll wheel events in testmouse
Cameron Cawley 57118fb7 2022-04-02T13:49:50 render: Fix setting the scale mode for non-native textures
Ozkan Sezer 312c899f 2022-04-02T03:32:10 attempt to fix uwp build
Ozkan Sezer 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
Ozkan Sezer 575dadb1 2022-04-02T02:20:02 fix build against older SDKs after commit 8ebef12.
Sam Lantinga 8ebef12d 2022-04-01T14:58:33 Use RoInitialize/RoUninitialize for Windows.Gaming.Input Thanks @walbourn! Fixes https://github.com/libsdl-org/SDL/issues/5270
Sylvain Becker 1c9299b0 2022-04-01T08:12:31 Add SDL_list to macosx xcode
Sylvain 78834b50 2022-04-01T08:01:44 Add SDL_list.c/h
Sylvain ad6bc521 2022-04-01T07:59:16 Move SDL_List functions to SDL_list.c to avoid more merge with eventual PR
Sam Lantinga 0d7edcb7 2022-03-31T16:15:51 Fixed loading 32-bit BMP files
Ryan C. Gordon ea7d5307 2022-03-31T14:11:52 emscripten: Proxy SDL_GetUsableDisplayBounds to the main thread.
Reinhold Gschweicher fe79eb2f 2022-02-26T20:46:52 emscriptenframebuffer: fix formatting
Reinhold Gschweicher 268cc2a4 2022-02-26T20:42:54 emscriptenmouse: remove useless return statement
NeroBurner 3136a530 2022-02-25T14:26:23 fix formatting and cast warnings Co-authored-by: Charlie Birks <charlie@daftgames.net>
Reinhold Gschweicher 40415859 2022-02-25T00:12:33 emscriptenmouse: remove old extra `_INT`
Reinhold Gschweicher 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
Ryan C. Gordon 1c7bf478 2022-03-31T10:09:02 x11: Ignore BadValue for extremely small XRRSetScreenSize resolutions. Reference Issue #4840.
Ivan Epifanov db718998 2022-03-31T13:44:06 Vita: fix readme
Ivan Epifanov 95c0fec5 2022-03-31T12:35:17 Vita: PVROGL: fix indentation and ifdef guards
Jaylon Gowie b5700ab3 2022-03-29T19:32:21 Cleanup Spaces
Jaylon Gowie 8e5adc62 2022-03-29T19:18:06 Update README-vita.md
Jaylon Gowie 8c542a35 2022-03-29T19:08:56 Desktop OpenGL 1.X/2.X PSVita Support
Cameron Gutman 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.
Ryan C. Gordon 7e15ad2f 2022-03-30T14:15:52 x11: Catch X11 errors in X11_SetWindowPosition and X11_SetWindowSize. The functions can go south if other operations are in progress, like X11_SetWindowBordered, which might be doing something traumatic behind the scenes of the window manager. We can't make these tasks totally synchronous, which would fix the problem, because not only can the window manager block however long it wants, it might also decide to deny our requests without any notification, so we'd be waiting forever for a window change that isn't coming. :( Fixes #5274.
Ryan C. Gordon 3425e995 2022-03-30T10:12:49 stdinc: SDL_COMPILE_TIME_ASSERT defines shouldn't have a semicolon.
Ivan Epifanov cbdb67b4 2022-03-30T00:12:42 Vita: add SDL_GetPreferredLocales support
Ivan Epifanov 178ac196 2022-03-29T23:48:08 Vita: add audio capture support
Frank Praznik 4d1905c9 2022-03-29T13:34:14 video: wayland: Use viewports for non-fullscreen windows with fractional scaling Use viewports for non-fullscreen windows when the desktop uses fractional scaling and the window is flagged as DPI-aware to provide a backbuffer mapped as close to 1:1 output as possible. In the cases of odd window sizes the backbuffer may be a pixel off of scaling perfectly into the window size due to its scaled size being rounded off, but a minute amount of scaling during output is likely preferable to the large amounts of overdraw needed with integer scaled buffers.
Frank Praznik fa4c5198 2022-03-28T21:32:30 video: wayland: Expose more resolutions for mode emulation Expose as many emulated display modes as possible. They will currently display stretched to the display's native desktop aspect, but if an application requires a hardcoded resolution, it will work at minimum. Aside from the change in the emulated display mode list, the Wayland event handling code had to be updated to support separate scaling for the x and y axes, as square pixels are no longer guaranteed.
Ethan Lee d875416a 2022-03-28T15:32:30 wayland: Minor fix for old compilers
Frank Praznik 4d76c9cb 2022-03-25T20:35:07 video: wayland: Use wp-viewporter for fullscreen with non-native resolutions Wayland doesn't support mode switching, however Wayland compositors can support the wp_viewporter protocol, which allows for the mapping of arbitrarily sized buffer regions to output surfaces. Use this functionality, when available, for fullscreen output when using non-native display modes and/or when dealing with scaled desktops, which can incur significant overdraw without this extension. This also allows for the exposure of arbitrarily sized, emulated display modes, which can be useful for legacy compatability.
Connor Clark aec86ba8 2022-03-26T15:31:33 emscriptenaudio: proxy calls to main thread
Ivan Epifanov 96be9cdd 2022-03-27T21:48:09 Vita: add hint to select which touchpad generates mouse events
Mathieu Eyraud 1db47d46 2022-03-28T15:39:13 Fix potential memory leak in QueueCmdFillRects
Cameron Gutman a60986ca 2022-03-27T19:03:54 Correct default structure packing on Windows ARM64 See issue #5454 for details
SDL Wiki Bot 6d1c3cd6 2022-03-27T17:11:05 Sync wiki -> header
Ivan Epifanov 95ed8313 2022-03-25T15:22:10 Vita: Use preallocated memory pool for textures
SDL Wiki Bot 2591f7e3 2022-03-27T16:52:04 Sync wiki -> header
SDL Wiki Bot 7ba4d24c 2022-03-27T16:49:05 Sync wiki -> header