Log

Author Commit Date CI Message
Cameron Gutman 6b64c47b 2021-11-09T23:45:32 haptics: Enumerate XInput/DInput joysticks after haptic init Since the haptic subsystem is usually initialized after the joystick subsystem, the initial calls to HapticMaybeAddDevice() from inside SDL_JoystickInit() will arrive too early to be handled by the haptic subsystem. We need to add those haptic devices for those already present joysticks ourselves.
Sam Lantinga 6f9909b6 2021-11-09T21:11:19 These functions made it into 2.0.18
Eric Wasylishen 0d987936 2021-11-09T22:03:42 testwm2: Fix video modes menu hit detection when highdpi or logical size used (#4936) * SDLTest_CommonDrawWindowInfo: log SDL_RenderGetScale, SDL_RenderGetLogicalSize * testwm2: fix video modes menu hit detection in High DPI cases - also when logical size is specified, e.g. `--logical 640x480 --resizable --allow-highdpi` * add function to determine logical coordinates of renderer point when given window point * change since to the targeted milestone * fix typo * rename for consistency * Change logical coordinate type to float, since we can render with floating point precision. * add function to convert logical to window coordinates * testwm2: use new SDL_RenderWindowToLogical * SDL_render.c: alternate SDL_RenderWindowToLogical/SDL_RenderLogicalToWindow Co-authored-by: John Blat <johnblat64@protonmail.com> Co-authored-by: John Blat <47202511+johnblat64@users.noreply.github.com>
Sam Lantinga 27ce9144 2021-11-09T20:51:42 Send absolute mouse motion when in normal mouse mode and relative mouse motion when in relative mode on iOS This keeps the SDL cursor in sync with the visible cursor when in normal mouse mode.
Sam Lantinga 19c129fa 2021-11-09T20:32:16 Added documentation that the UIApplicationSupportsIndirectInputEvents key must be set to true in your application's Info.plist in order to get real Bluetooth mouse events.
Sam Lantinga a7e2e3a3 2021-11-09T13:36:44 Fixed rendering in the iOS touch demo
Sam Lantinga 7681929c 2021-11-09T12:30:37 Don't send the initial joystick axis event if the application is in the background
Sam Lantinga d31f90d9 2021-11-09T12:09:01 Don't send game controller touchpad or sensor events unless the application has focus Fixes https://github.com/libsdl-org/SDL/issues/4891
Sam Lantinga d2f75636 2021-11-09T11:53:59 When making the window centered it should use windowed mode size since it doesn't affect fullscreen windows Fixes bug https://github.com/libsdl-org/SDL/issues/4750
Susko3 1fc25bd8 2021-11-08T22:04:34 Properly position the IME window(s) on windows
Ryan C. Gordon 04f42e04 2021-11-09T11:50:49 metal: Deal better with -[CAMetalLayer nextDrawable] returning nil. Fixes #4863.
Ryan C. Gordon 8f63e9ff 2021-11-09T11:13:52 cmake: use generated SDL_config.h to build SDLmain static lib Thanks to @toazz for the patch! Fixes #4829.
Ryan C. Gordon 3a82e432 2021-11-09T11:06:33 cmake: Moved back to requiring merely CMake 3.0.0. This means it now works with any CMake released since 2014 instead of 2018. This was mostly just readding some special cases, and requiring 3.11.0 only for Windows Stores apps, which isn't unreasonable. The biggest concern is a Linux distribution not having a recent CMake; most other places will be manually downloading and installing their own CMake. Fixes #4930.
Ryan C. Gordon cfdbd6ac 2021-11-09T10:50:18 docs: Modernized README-macosx.md and cleaned up the Markdown a little. Reference #960.
Sam Lantinga 0f2bf629 2021-11-09T06:20:46 Fixed building hidapi when libusb is available
Sam Lantinga 7b9fe52e 2021-11-09T05:40:57 We're no longer building a separate shared library for hidapi
Sylvain e8731933 2021-11-09T13:32:28 Fixed warning: macro is not used
Sylvain c7065bf4 2021-11-09T11:31:29 Fix warning: declaration shadows a local variable
Cameron Gutman 715e7bda 2021-11-09T01:43:44 haptic: Don't enumerate joysticks if the joystick subsystem is active The joystick subsystem has complex precedence logic to deal multiple competing backends like XInput, RawInput, and WGI. Let it fire the MaybeAdd callbacks for joystick devices, since it knows which backend will end up managing them. This resolves a situation where the RawInput joystick backend would take control of an XInput device but the XInput haptic backend would still create a haptic device. Since the XInput joystick backend didn't own the underlying joystick device, we'd end up with an orphaned haptic device that didn't work with SDL_HapticOpenFromJoystick() on the associated joystick device.
Ozkan Sezer b2ce22a0 2021-11-09T10:00:24 added src/hidapi/*.c to sources in standalone makefiles
Ethan Lee ae67c7d2 2021-11-09T01:30:00 Implemented SDL_SetWindowMouseRect() on Wayland
Sam Lantinga 18e69827 2021-11-08T22:29:02 Fixed Linux build
Yufei Huang 881f747d 2021-11-09T13:35:18 Always destroy icon
Yufei Huang 7fea557b 2021-11-09T12:03:09 SDL_windowsmouse.c: Remove LR_COPYDELETEORG flag
Sam Lantinga 67c42cb4 2021-11-08T22:16:01 Fixed Windows build
Sam Lantinga fd79607e 2021-11-08T21:34:48 Added SDL_GetWindowMouseRect() Also guarantee that we won't get mouse movement outside the confining area, even if the OS implementation allows it (e.g. macOS)
Sam Lantinga 4db546b0 2021-11-08T20:35:12 Implemented SDL_SetWindowMouseRect() on macOS
Sam Lantinga 037030a7 2021-11-08T20:26:40 Install SDL_hidapi.h
Cameron Gutman 9c95c249 2021-11-08T20:01:56 x11: Use XCheckIfEvent() instead of XNextEvent() for thread-safety A racing reader could read from our fd between SDL_IOReady()/X11_Pending() and our call to XNextEvent() which will cause XNextEvent() to block for more data. Avoid this by using XCheckIfEvent() which will never block. This also fixes a bug where we could poll() for data, even when events were already read and pending in the queue. Unlike the Wayland implementation, this isn't totally thread-safe because nothing prevents a racing reader from reading events into the queue between our XCheckIfEvent() and SDL_IOReady() calls, but I think this is the best we can do with Xlib.
Cameron Gutman e9dae813 2021-11-08T20:14:08 CI: disable fail-fast to avoid aborting build when one platform fails
Sam Lantinga 2d23d66a 2021-11-08T16:33:50 Fixed SetWindowMouseRect return value on Windows
Sam Lantinga 7d21322d 2021-11-08T16:29:19 Implemented SDL_SetWindowMouseRect() on Windows
Ozkan Sezer 684b3b31 2021-11-09T02:30:28 regenerated configure script.
Ethan Lee 4b42c05b 2021-11-08T13:52:48 video: Add SDL_SetWindowMouseRect. This API and implementation comes from the Unreal Engine branch of SDL, which originally called this "SDL_ConfineCursor". Some minor cleanup and changes for consistency with the rest of SDL_video, but there are two major changes: 1. The coordinate system has been changed so that `rect` is _window_ relative and not _screen_ relative, making it easier to implement without having global access to the display. 2. The UE version unset all rects when passing `NULL` as a parameter for `window`, this has been removed as it was an unused feature anyhow. Currently this is only implemented for X, but can be supported on Wayland and Windows at minimum too.
Ryan C. Gordon 1a98dcb6 2021-11-08T15:16:18 Revert "include: Updated SDL_config_emscripten.h from emscripten-ports." Apparently we already had the newer version, sorry! This reverts commit 6657cbce8dcea9abe4501c8bbf85f2b40e6c927a. Reference issue #4623.
Ozkan Sezer dcc91909 2021-11-08T22:28:00 autotools: initial adjustments after the recent hidapi changes.
Ozkan Sezer 2636d839 2021-11-08T22:25:32 cmake: add hidapi to 'SDL_SUBSYSTEMS'
Ozkan Sezer 1739ef3e 2021-11-08T22:00:02 sdlchecks.cmake: remove libusb/hid.c and SDL_hidapi.c additions to srcs
Ozkan Sezer 36067fa1 2021-11-08T21:35:24 cmake: include hid.cpp in android sources
Ozkan Sezer 84138b77 2021-11-08T21:15:04 minor update to os2 config file.
Ozkan Sezer 001aa4da 2021-11-08T21:12:02 cmake: more hidapi fixes.
Sam Lantinga a3e8fd49 2021-11-08T09:58:11 Cancel any accumulated mouse wheel motion in the opposite direction when the wheel direction changes Fixes https://github.com/libsdl-org/SDL/issues/2912
Sam Lantinga 5dbbc8e6 2021-11-08T09:44:31 Added mouse wheel deltas with floating point precision Fixes https://github.com/libsdl-org/SDL/issues/4888
Sam Lantinga d95a52c9 2021-11-08T09:39:21 Fixed comment typo
Ethan Lee fc998b8e 2021-11-08T12:37:10 wayland: Return true for HasScreenKeyboardSupport only if no physical keyboard exists
Sam Lantinga 4bbbe5f8 2021-11-08T09:28:36 Fixed CMake build by adding hidapi files This needs more work to remove the hidapi shared library build, but at least Linux builds are unblocked
Sam Lantinga b8327a4a 2021-11-08T07:19:45 Added SDL_HIDAPI_DISABLED so it can be disabled like other SDL subsystems
Sam Lantinga 2a6feb50 2021-11-08T07:10:38 Removed accidental debugging commit (thanks @DomGries!)
Sam Lantinga 6c56e275 2021-11-08T07:05:17 Set both _NET_WM_NAME and WM_NAME so SDL windows can be shared in the browser. Fixes https://github.com/libsdl-org/SDL/issues/4924
Yufei Huang 301819cd 2021-11-08T20:34:20 SDL_windowsmouse.c: Fix WIN_CreateCursor does not scale with system cursor size preference
Sam Lantinga f61b10dc 2021-11-08T06:34:32 Do more robust validation of devices passed to the SDL HIDAPI functions
Ozkan Sezer dd8c3548 2021-11-08T17:00:56 SDL_hidapi.c: avoid possible NULL pointer dereferences.
Ozkan Sezer 2a904aa1 2021-11-08T17:00:28 os2: remove SDL_hidapi duplications in makefile, disable it in config.
Sam Lantinga 5b646cd1 2021-11-07T22:58:44 Build hidapi code into SDL as a new public API This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
Thomas Ballinger 94c1276a 2021-11-07T20:49:32 emscripten: Decrease vertical scroll speed by using deltaMode Reference issue #4623.
Ryan C. Gordon 6657cbce 2021-11-07T20:43:49 include: Updated SDL_config_emscripten.h from emscripten-ports. Reference issue #4623.
Cameron Gutman f6dc47ca 2021-11-07T16:00:47 WGI/DInput: Fix SDL_IsXInputDevice() checks when RawInput is enabled Enabling the RawInput backend causes SDL_XINPUT_Enabled() to return false. That causes WGI and DInput backends to take ownership of XInput-compatible controllers, because they think there's no XInput-specific backend enabled. In WGI's case, it will actually race with RawInput to open the device. By properly excluding XInput devices from WGI, we can ensure that the sets of devices managed by WGI and RawInput don't intersect. This makes the race harmless, since they'll never both go after the same device.
Sam Lantinga 74f35a7c 2021-11-07T14:10:04 Fixed documentation
Sam Lantinga 301389ce 2021-11-07T13:52:59 Fixed iOS build
Cameron Gutman b3e909dc 2021-11-07T13:51:34 WGI: Fix SDL_IsXInputDevice() for Xbox One controllers The Xbox One driver stack doesn't propagate the VID/PID down to the HID devices that end up in the GetRawInputDeviceList() output. This means we end up matching against the wrong VID/PID and can't properly exclude Xbox One controllers from WGI. Fortunately, it is possible to walk back up the device tree to find the parent with the matching VID/PID.
Sam Lantinga dd85cc01 2021-11-07T13:17:54 Fixed whitespace
FormularSumo 80d19282 2021-08-19T11:40:09 If Android version >= API 23 PendingIntent.FLAGIMMUTABLE "If your app targets Android 12, you must specify the mutability of each PendingIntent object that your app creates. This additional requirement improves your app's security." FLAG_IMMUTABLE was added in API 23 so that's why I'm using "> API 23". Using API 30 would also fix the Android 12 issue. Alternatively if PendingIntents should be mutable you could change it to "FLAG_MUTABLE".
Sam Lantinga b8c00bf9 2021-11-07T13:11:29 Allow opening joysticks that are read-only on Linux Fixes https://github.com/libsdl-org/SDL/issues/4713
Sam Lantinga 0323d983 2021-11-07T12:52:06 Add the platform to the game controller mapping so it can be read back in without changes Fixes https://github.com/libsdl-org/SDL/issues/4848
Charlie Birks d950b9e2 2021-11-07T20:40:54 emscripten: Make timers work (if used with emscripten_set_main_loop) Co-authored-by: aidanhs <aidanhs@cantab.net>
Sam Lantinga fe2fe290 2021-11-07T11:48:16 Backed out accidentally committed PR https://github.com/libsdl-org/SDL/pull/4849
Sam Lantinga 86bc65a7 2021-11-07T11:35:12 Fixed non-Apple builds
Sam Lantinga 637bcd0b 2021-11-07T11:19:07 Fixed build warnings
Sam Lantinga e1435826 2021-11-07T11:16:48 Cleanup sfSymbolName support and add them to the dynamic API functions
Patrick Hogan 149e5c65 2021-10-03T12:49:36 Support returning sfSymbolsName for gamepad controls on macOS / iOS / tvOS
Sam Lantinga cdb4d8f2 2021-11-07T09:39:57 Added a test case for snprintf of 0.0 This verifies regressions in https://github.com/libsdl-org/SDL/issues/4795
Ryan C. Gordon 3acb1725 2021-11-07T12:26:39 stdlib: SDL_snprintf now adds decimal places for ("%f", 0.0). This patch was from @Markvy (thanks!). Fixes #4795.
Eric Wasylishen 2008f2a8 2021-11-07T01:41:34 SDL_test_font.c: fix type of SDLTest_CharTextureCacheList
Eric Wasylishen a0e055a7 2021-11-07T02:48:29 testwm2: add mode menu, click on a mode to call SDL_SetWindowDisplayMode
Eric Wasylishen 70f7ebe6 2021-11-07T01:46:04 SDL_test_font.c: add ability to draw on different SDL_Renderers fixes `testwm2 --windows 2`
Cameron Gutman 6312aaea 2021-11-06T21:52:22 WGI: Add workaround for delayed callbacks after WGI_JoystickQuit()
Sam Lantinga 35b0baaa 2021-11-06T19:25:06 Unfixed typo
Sam Lantinga 1d40c69a 2021-11-05T22:52:03 Fixed typo
Sam Lantinga 2248a549 2021-11-05T22:48:46 Update the focus in case we changed focus to a child window and then away from the application In this case we'll get WM_KILLFOCUS when the child window is focused, but we'll retain focus on the top level window, but when we Alt-Tab away, we won't get another WM_KILLFOCUS or WM_NCACTIVATE, we get WM_ACTIVATE instead, so we need to check for focus updates in response to that as well.
Cameron Gutman 5de72374 2021-11-05T21:06:58 SDL_config_windows.h: detect winsdkver.h using __has_include() __has_include() was added in VS 2017 15.3, so this works out to essentially the same _MSC_VER >= 1911 check we had before for MSVC but works for non-MSVC compilers also.
Cameron Cawley c48c81bd 2021-11-06T00:00:17 docs: List the required Fedora packages in README-linux.md
Ozkan Sezer 6407d4b0 2021-11-05T17:10:02 remove unnecessary parentheses from SDL_abs()
Kevin Colour 6cbee063 2021-11-05T01:17:29 include: Swap parameter names in atan2 functions
Cameron Gutman 7f308abb 2021-11-04T01:02:48 cmake: Only prevent MSVC codegen using the CRT if SDL_LIBC=OFF
Cameron Gutman d8b53e82 2021-11-03T19:51:18 direct3d11: fix SDK version requirement for non-CMake build The D3D11 renderer requires Direct3D 11.1 (d3d11_1.h), not Direct3D 11.0 (d3d11.h). In terms of SDKs, that's the Windows 8 SDK or later. We should probably rename HAVE_D3D11_H...
Ozkan Sezer 802e17aa 2021-11-03T20:35:20 autotools: added windows.gaming.input.h (and SDL_JOYSTICK_WGI) detection
Cameron Gutman 2371b247 2021-10-31T18:27:51 windows: improve feature detection consistency between CMake and non-CMake builds
superzazu 839ca0ea 2021-11-03T16:35:24 SDL_OpenURL (macOS): try to open path if the url cannot be opened (#4830) * SDL_OpenURL (macOS): try to open path if the url cannot be opened * SDL_OpenURL (macOS): use CFURLCreateWithBytes & LSOpenCFURLRef to correctly escape input * fix type casting + indentation
Eddy Jansson e2ba84a5 2021-11-02T19:30:17 testtimer: Be more like the C90's.
Eddy Jansson 4ab7ee19 2021-11-02T18:58:06 testtimer: Add basic sanity check for SDL_GetTicks*()
Sam Lantinga 8593076d 2021-11-02T16:04:36 Fixed whitespace
Brick 62629c2b 2021-11-02T22:17:41 Fix 64-bit timeval/timespec delta calculations
Sam Lantinga 6d5edfa7 2021-11-02T15:59:26 Fixed crash on Android 8, due to bugs in AAudio implementation
Sam Lantinga c948b936 2021-11-02T15:57:24 Added note for Android 12 API level
Frank Praznik 43ddc59f 2021-11-02T16:56:14 Export SDL_LinuxSetThreadPriorityAndPolicy() function (#4877) It's marked as being a public symbol internally, however, it was missing from the header files and not visible in the shared library. This adds it to the necessary headers and to the DynAPI list to expose it for use by applications. Co-authored-by: Frank Praznik <frank.praznik@oh.rr.com>
Ivan Epifanov 848d7b12 2021-11-02T16:12:55 Vita: Implement command batching
Ivan Epifanov 3f7a94fc 2021-11-02T15:16:48 Vita: Remove FillRects
Cameron Gutman f73376ae 2021-11-02T00:31:25 events: Add logging for SDL_CONTROLLERTOUCHPAD*, SDL_CONTROLLERSENSORUPDATE, and SDL_SENSORUPDATE events
Ryan C. Gordon 2379c528 2021-10-25T11:04:42 os/2: Don't try to be clever with the 32-bit GetTicks fallback.
Ryan C. Gordon d78cb9e9 2021-10-23T19:27:10 testtimer: added SDL_GetTicks64() calls.