Log

Author Commit Date CI Message
Ethan Lee be5356af 2021-05-14T14:44:13 winrt: Fix support for multiple simultaneous mouse button presses
Sylvain 62a562de 2021-05-12T23:37:18 X11: use x11sym loaded functions (see bug #3978)
Sylvain 531d83bf 2021-05-12T23:13:48 X11: allow using touchscreen, while pointer is grabbed (see bug #3978)
Cacodemon345 ddc6be35 2021-05-12T20:43:10 KMSDRM on Dragonfly BSD doesn't work without being root
Kimplul 9e1d7bae 2021-05-12T17:43:39 Added T300RS to known wheel list
Ryan C. Gordon e1db4b82 2021-05-11T14:08:17 egl: Don't crash if we failed halfway through SDL_CreateWindow.
Ethan Lee f2f451a5 2021-05-10T13:29:54 wayland: Call SetWindowBordered at the end of ShowWindow
Fredrick Brennan c5dd9964 2021-04-07T12:14:16 Copied X11 error handler code from SDL_x11opengl.c Avoids needing to malloc to hold the error string.
Fredrick Brennan b3b4677e 2021-04-07T11:17:52 (X11) Set _NET_WM_NAME properly, fixes Unicode window titles Removes deprecated code meant to support extremely ancient, pre-UTF-8 versions of Xorg. Uses new xlib API's for doing this same thing. Closes #4288.
Ryan C. Gordon f4ab1c94 2021-05-10T13:08:34 gamecontrollerdb: Add entry for the 8BitDo Receiver for Linux. Fixes #3048.
Ryan C. Gordon bedc509a 2021-05-10T13:04:59 gamecontrollerdb: added entry for PowerA XBox One Controller for Linux. Fixes #3910.
Ethan Lee efbb6ff9 2021-05-10T12:42:28 wayland: Create the server decorations after the toplevel has been configured
Ryan C. Gordon 9dc97afa 2021-05-08T12:39:50 cocoa: Report an error if SDL_SetClipboardText() isn't using UTF-8 encoding. Fixes #4110.
Sam Lantinga 107db2d8 2021-05-07T12:43:35 Enable TV game mode by default on Android
Sam Lantinga 9231f1f1 2021-05-07T12:29:03 Added support for the PS5 controller on iOS and tvOS
Sam Lantinga 2ad73db6 2021-05-07T12:28:57 Merge commit '889cebb7c20d4195e5d4ac344a2175f2490354cc' into main
Sam Lantinga e589810c 2021-05-07T12:28:55 Merge commit '31637ddeea1e302c77193341b2006d45dc54de98' into main
Sam Lantinga 6d4991b8 2021-05-07T12:28:53 Merge commit 'f309d0649d37022ad49bc468c77dd87bf82f261b' into main
Sam Lantinga e8eb0b15 2021-05-07T12:28:51 Merge commit '58884e4c1bb455db90a35df3f7480cfd355eb8c6' into main
Sam Lantinga 19a9e81c 2021-05-07T12:28:50 Merge commit 'c69fde348fafcb90200a148b711137c464ffa7de' into main
Sam Lantinga 71e45a0b 2021-05-07T12:28:48 Merge commit '006378b9213e3e04ea2b9c591afe2a44e75e6867' into main
Sam Lantinga 981532fb 2021-05-07T12:28:47 Merge commit '424bbaec069f0d94857095dcdfacba6246282936' into main
Sam Lantinga 95b7b879 2021-05-07T12:28:45 Merge commit '20928550350d4d4c5d78f98b61e7e08d219a5475' into main
Sam Lantinga 8b8956da 2021-05-07T12:28:43 Merge commit '3d47ddc422de1a4209525a759b3bc46a4ac69116' into main
Sam Lantinga 069a68a5 2021-05-07T12:28:42 Merge commit '7b284dbb34a8c34f5d6f79c58c860c9f7894fd56' into main
Sam Lantinga 12b7b821 2021-05-07T12:28:40 Merge commit '9161f95166f3d8e42248c1156e35255d4ebdc6a0' into main
Sam Lantinga 2b203add 2021-05-07T12:28:38 Merge commit 'c54c16d353f206162cdbb125c0847b4645e096a3' into main
Sam Lantinga 1e208c64 2021-05-07T12:28:37 Merge commit '227021b6470d07f86e209d89f176ec8e6d952a17' into main
Sam Lantinga f1fa836b 2021-05-07T12:28:35 Merge commit '13472cec6764aec2e06a3c66ec1b139baa680aa3' into main
Sam Lantinga cf1e8503 2021-05-07T12:28:33 Merge commit 'a74f888ff9ed1254e9b9965a27d68e0526e2c0f8' into main
Sam Lantinga 63015e44 2021-05-07T12:28:32 Merge commit '8ac0fb52cb13e5856aa7f4a3fd0598d3ec58283f' into main
Sam Lantinga 0ebf56b5 2021-05-07T12:28:30 Merge commit '1f3df900f919e7177e480e63c07447db232564a1' into main
Sam Lantinga 5a95ff80 2021-05-07T12:28:28 Merge commit 'fcbf19b764a9f6fed1db6a1d79a2f2f3fa1338d6' into main
Sam Lantinga 572dfb4f 2021-05-07T12:28:27 Merge commit 'c93e3b36074ddb2ed986cbacc5e9d4f3a60db343' into main
Sam Lantinga a734ccec 2021-05-07T12:28:25 Merge commit 'b62642974595976a0c47c5b854eea51b2703fbeb' into main
Sam Lantinga 4c7f8a74 2021-05-07T12:28:23 Merge commit 'f8695185331460106f34286ebe466cb605f85bb6' into main
Sam Lantinga 9cf1b391 2021-05-07T12:28:22 Merge commit '21349901ea250483600cbe4771d865cc06f6b538' into main
Henk Kalkwater 889cebb7 2021-05-05T14:08:30 Wayland touch inputs send normalized coords Resolves #4361
Nicolas Caramelli 31637dde 2021-05-04T14:59:29 Generic check for desktop GL and EGL on Linux systems
Ethan Lee f309d064 2021-05-04T11:23:54 include: Document timing issue with SDL_GetWindowBordersSize
Ozkan Sezer 58884e4c 2021-05-04T00:23:40 SDL_audiocvt.c: fixed MSVC double->float conversion warnings.
Ethan Lee c69fde34 2021-05-02T16:43:01 wayland: Maximize/Restore should set the relevant window flags. Also, Maximize should be ignored for fixed-size windows.
Christian Rauch 006378b9 2021-05-02T18:30:32 fix NULL frame_callback access
Christian Rauch 424bbaec 2021-05-01T18:53:12 wayland: destroy frame callback when window is destroyed
Ethan Lee 20928550 2021-05-01T09:00:24 wayland: Guard surface_frame_listener for OpenGL, document why it exists
Ethan Lee 3d47ddc4 2021-05-01T08:57:37 wayland: Use refresh_rate to calculate max_wait in SwapWindow
Sylvain 7b284dbb 2021-04-30T22:01:48 EglChooseConfig: choose an accelerated configuration - especially because we can be promoted to true color 888 make sure we don't select a potentially software implementation - hopefully fix bug #1482 (EGL ChooseConfig selects software renderer on Android)
Ethan Lee 9161f951 2021-04-27T02:25:57 egl: Reject attempts to set negative swap intervals
Ryan C. Gordon c54c16d3 2021-04-30T13:19:36 wayland: don't hang in SDL_GL_SwapBuffers if the compositor is ghosting us. If you hide a window on Mutter, for example, the compositor never requests new frames, which will cause Mesa to block forever in eglSwapBuffers to satisfy the swap interval. We now always set the swap interval to 0 and manage this ourselves, handing the frame to Wayland when it requests a new one, and timing out at 10fps just to keep apps moving if the compositor wants no frames at all. My understanding is that other protocols are coming that might improve upon this solution, but for now it solves the total hang. Fixes #4335.
Ozkan Sezer 227021b6 2021-04-30T11:25:20 SDL_windowsmessagebox.c (MessageBoxDialogProc): fix calling convention.
Sylvain 13472cec 2021-04-30T09:48:29 Fixed bug #4228: move from jcenter() to mavenCentral() SDL can use relinker. If it's enabled on your project, you need to update to version 1.4.3
Sylvain a74f888f 2021-04-29T22:25:00 Fixed bug #4337 - compilation of 'SDL_vulkan_utils' fails with 'VK_ERROR_INCOMPATIBLE_VERSION_KHR' undeclared
Sylvain 8ac0fb52 2021-04-29T09:29:02 OpenSLES: CloseDevice() is called at higher level, if OpenDevice() fails - explicit initialization of static variables
Sylvain 1f3df900 2021-04-28T23:40:26 Error missing 'flags' initialization (see bug #2881)
Sylvain fcbf19b7 2021-04-28T21:04:47 AAudio: make sure stream is not null to prevent crash in RequestStop (see #3710)
Sylvain c93e3b36 2021-04-28T10:43:28 Fixed bug #2881 - SDL_RLEsurface may encode RGB888 if it has no color key (Thanks Simon Hug) To encode with BLEND mode, it needs a valid alpha channel
Sylvain b6264297 2021-04-27T11:10:41 Merge remote-tracking branch 'refs/remotes/origin/main'
Sylvain f8695185 2021-04-27T11:07:51 Audio: normalize conversion Stereo to 5.1, Quad to 7.1, 5.1 to 7.1 (bug #4104)
Sylvain 21349901 2021-04-27T10:57:48 Audio: convert 5.1 to 7.1, use right-surround for r-front and r-back (see #4104)
Ryan C. Gordon 8527c583 2021-04-27T01:36:23 cocoa: Fix recreated windows that are both borderless and resizable. These would accidentally get a titlebar because the "borderless" style mask is zero but the resizable attribute adds a bit. I assume this happens because you used to need window decoration to resize a window in macOS, but this changed in later releases. This only caused problems when recreating a window (you had an SDL_WINDOW_OPENGL window and tried to create a Metal SDL_Renderer on it, etc). Fixes #4324.
Ethan Lee 40210f89 2021-04-26T15:54:14 winrt: Always use a thread for joystick support
Ryan C. Gordon 2fdbae22 2021-04-26T18:43:28 cocoa: Remove mouse event tap. It doesn't appear to work anymore, and was disabled by default anyhow, since the needed APIs are forbidden on the Mac App Store. A better solution to lock the mouse to the window on macOS would still be welcome. CGAssociateMouseAndMouseCursorPosition() works fine for relative mouse mode, this was just a question of SDL_SetWindowGrab(). As it stands now, a grabbed mouse can briefly break out of the window, causing varying degrees of chaos.
Sylvain 9727655b 2021-04-26T14:22:19 SDL_test_common: add other window flags: --shown, --hidden, --input-focus, --mouse-focus
Sylvain d62ebec2 2021-04-26T14:10:39 SDL_test_common: replace 'resize' by 'resizable'
Ryan C. Gordon 1f482174 2021-04-25T12:44:35 x11: Mark backing_store as NotUseful when creating windows. This can give some performance boost, and save some resources, as there's no reason to keep a copy of an SDL window's contents on the server: most SDL apps are redrawing completely every frame, and the API allows for expose events to tell an app a redraw is needed anyhow. (And compositors are free to ignore this setting if it makes sense to do so, according to the Xlib docs.) Reference Issue #3776.
Ryan C. Gordon 9c063468 2021-04-24T19:47:10 x11: call XSync before XSetInputFocus during SDL_ShowWindow. This only happens when using a non-NET_WM window manager, as we might try to set the focus before the window is mapped. Fixes #3949.
Ozkan Sezer 89a2980a 2021-04-23T01:56:10 CMake: fixes to pthreads detection. changes unnecessary check_c_source_runs to check_c_source_compiles, removes the reduntant cross-compile check, and defines _GNU_SOURCE for PTHREAD_MUTEX_RECURSIVE checks just like the autotools version. Fixes: https://github.com/libsdl-org/SDL/issues/4262 Closes: https://github.com/libsdl-org/SDL/pull/4282
Ivan Epifanov ca969eb2 2021-04-24T10:29:52 Remove gles2 vita render
Ivan Epifanov 058bbe02 2021-04-24T10:17:03 Set volume on device open
Ivan Epifanov e3ea5b64 2021-04-24T10:16:21 Migrate to lightweight mutexes
Steven Noonan f1ad942a 2021-04-22T17:24:05 SDL_windows_main: use HeapAlloc/HeapFree for command line arguments If a developer uses SDL_SetMemoryFunctions, we can't rely on SDL_free() working when SDL_main() returns. Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org>
Steven Noonan 17d8479d 2021-04-22T15:44:01 hidapi/libusb: maintain in-memory cache of vendor/product strings The get_usb_string call is rather expensive on some USB devices, so we cache the vendor/product strings for future lookups (e.g. when hid_enumerate is invoked again later). This way, we only need to ask libusb for strings for devices we haven't seen since before we started. Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org>
Steven Noonan 4535d654 2021-04-22T14:35:59 HIDAPI_UpdateDiscovery: only treat "add" and "remove" events as relevant I have a buggy system which reports a udev "change" event for an empty USB-C port every 0.14 seconds, which causes annoying frame hitches because SDL decides that means it needs to do a libusb hid_enumerate, which is slow (~25ms!) because of the get_usb_string() calls in there. We only need to re-enumerate if we've seen a device added or removed, so let's filter out the change event first. Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org>
Steven Noonan b15bbd4e 2021-04-22T16:11:13 SDL_udev: check for NULL return value from udev_device_get_action Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org>
Sylvain cf05a5eb 2021-04-22T21:40:57 eglChooseConfig: only add EGL_DEPTH_SIZE if non 0 and fix static / shadowed variables warnings for dump configs
Sylvain 98a966d1 2021-04-22T18:06:17 Android: don't need to set the SurfaceHolder format from java code It's already set with ANativeWindow_setGeometry, and eventually set/changed also by eglCreateWindowSurface. - avoid issues with older device where SurfaceView cycle create/changed/destroy appears broken: calling create/changed/changed, and leading to "deuqueBuffer failed at server side, error: -19", with black screen. - re-read the format after egl window surface is created, to report the correct one (sometimes, changed from RGBA8888 to RGB24)
Ethan Lee 8e3ec34d 2021-04-20T12:40:40 wayland: Refactor toplevel mapping, implement HideWindow
Cacodemon345 0838f53d 2021-04-21T11:41:08 Implement SDL_SetWindowAlwaysOnTop for X11
Mathieu Eyraud a5825576 2021-04-21T13:39:31 Fix error handling of wayland message box Zenity return a small integer on success which may be the same as EXIT_FAILURE. Use a bigger integer for error reporting from child process.
Mathieu Eyraud 12dd412b 2021-04-21T13:31:15 Fix icon of wayland message box Also add some comments and silence a warning. Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
meyraud705 d0cf3b75 2021-04-20T18:26:02 Return correct button id
meyraud705 1fd95c53 2021-04-20T18:15:09 Disable pango markup in wayland massage box Zenity support pango markup, add --no-markup to disable it.
meyraud705 0cd0e9ba 2021-04-20T17:49:21 Reimplement wayland message box function with execvp. Previous version used 'popen' which required to sanitize user provided text. Not sanitizing text could cause failure if user provided text included a " or command injection with `cmd`.
Cacodemon345 99ef03b9 2021-04-21T01:22:22 KMSDRM: Only use OpenBSD-specific defines on pre-6.9 releases
Joseph Lyncheski a0a5da5d 2021-04-19T07:13:38 Add SDL_SetWindowAlwaysOnTop()
Sylvain 6be9c009 2021-04-20T13:46:25 Android: prevent error EGL_BAD_DISPLAY while getting egl version without display There is an error "E libEGL : validate_display:91 error 3008 (EGL_BAD_DISPLAY)" that occurs when calling "eglQueryString(display, EGL_VERSION)", with EGL_NO_DISPLAY. Khronos says "EGL_BAD_DISPLAY is generated if display is not an EGL display connection, unless display is EGL_NO_DISPLAY and name is EGL_EXTENSIONS." but this was added in SDL with "EGL 1.5 allows querying for client version" ( https://github.com/libsdl-org/SDL/commit/56363ebf6124b345e1cfbd14fb6c0e654837910c ) In fact: - it actually doesn't work on Android that has 1.5 egl client - it works on desktop X11 (using SDL_VIDEO_X11_FORCE_EGL=1) The commit moves the version call where it's used, eg inside the "if (platform) {" and checks that "eglGetPlatformDisplay" has been correctly loaded.
Ryan C. Gordon 03503423 2021-04-19T23:31:23 filesystem: Better OpenBSD support for SDL_GetBasePath(). Fixes #3752.
ReNoM de6d2902 2021-04-19T21:48:11 Fix keymap updating for X11 backend
Ethan Lee 509228c4 2021-04-18T22:26:27 wayland: Implement GetDisplayDPI
Ethan Lee fcbfe33c 2021-04-18T09:45:22 wayland: Implement SetWindowModalFor
Ethan Lee 213bfc19 2021-04-18T09:36:54 wayland: Implement RestoreWindow for xdg/zxdg
Ethan Lee 0f518002 2021-04-18T09:33:57 wayland: Removed unused GetDisplayModes/SetDisplayMode functions
Ethan Lee 46df195b 2021-04-18T09:33:06 wayland: Implement GetDisplayBounds
Ethan Lee ed24c345 2021-04-16T21:35:50 wayland: Implement basic window move events via wl_surface_listener. This unearthed an unspeakably large amount of bugs in the wl_output enumerator, notably the fact that the wl_output user pointer was to temporary memory! This was "fixed" in e862856, and was then pointed out as a leak in 4183211, which was undone in d9ba204. The busted fix was correct that the malloc was an issue, but wrong about _why_; SDL_AddVideoDisplay copies by value and does not reuse the pointer, so generally you want your VideoDisplay to be on the stack, but of course the callbacks don't allow that, so a malloc was a workaround. But we can do better and just host our temporary display inside WaylandOutputData because that will be persistent while also not leaking. Wait, wasn't I talking about move events? Right, that: wl_surface_listener does at least give us the ability to know what monitor we're on, even though we have no idea where we are on the monitor. All we need to do is check the wl_output against the display list and then push a move event that both indicates the correct display while also not being _too_ much of a lie (but enough of a lie to where our event doesn't get discarded as "undefined" or whatever). The index check for the video display is what spawned the great nightmare you see before you; aside from the bugfix this is actually a really basic patch.
Sylvain 859230ec 2021-04-16T13:04:36 Android: add AAudio entry in CMake SDL_config
Sylvain d4e96e11 2021-04-16T09:44:07 Android: enable audio driver OpenSLES when building with CMake
Sylvain b4f89c56 2021-04-15T21:16:10 AAudio: add aaudio pause/resume function to android events loop
Sylvain 02b1ebc9 2021-04-15T21:13:17 Android: add openslES and AAudio compilation to CMakeLists
Sylvain 146656cf 2021-04-15T21:03:10 AAudio: add compilation to Android.mk, but not activated in SDL_config_android.h
Sylvain f1fab24e 2021-04-15T21:00:00 AAudio: add bootstrap in SDL_audio.c