src


Log

Author Commit Date CI Message
Ethan Lee 5cc23868 2021-11-15T11:52:43 wayland: Add support for SDL_DisplayOrientation
Sam Lantinga 40d80862 2021-11-15T20:17:14 SDL_classic_joysticks defaults off
Sam Lantinga 66058bbb 2021-11-15T16:52:56 Fixed exception accessing Bluetooth devices on Android 12 Since accessing Bluetooth prompts the user for permission on both Android and iOS, and we only need it for Steam Controller support, we'll leave it off by default. You can enable it by setting the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM to "1" before calling SDL_Init() Fixes https://github.com/libsdl-org/SDL/issues/4952
Sam Lantinga be5b4d98 2021-11-15T16:52:54 Added nativeGetHintBoolean for Java code
Sam Lantinga 9ec2b351 2021-11-15T13:45:53 Fixed the GLES2 shader count to be in sync with the enum
Sylvain b649314d 2021-11-15T13:43:40 Add comment to audio clipping (see bug #4104)
Sylvain d4df5d33 2021-11-15T09:43:44 GLES2: prevent batching if blend mode changes (see bug #4964)
Sylvain 92f2fdfc 2021-11-15T09:36:18 GLES2: batch non joined lines (see #4964)
Sylvain 17f156fa 2021-11-15T09:08:09 Fixed bug #4964 - opengles2 & batching = conjoined lines put back the initial switch case because groups of joined lines cannot be batched.
Sylvain d8888e46 2021-11-15T08:37:49 Fixed bug #4964 - opengles2 & batching = conjoined lines
Sam Lantinga cc094f4d 2021-11-14T20:15:48 Fixed building with the macOS 10.8 SDK
Cameron Gutman d7d67af4 2021-11-14T17:52:41 mouse: Fix Y value in motion events when confinement is active
Zack Middleton 1cd3e837 2021-11-14T15:51:38 cocoa: Fix abort on touch event types without a subtype macOS 10.6 has some touch NSEvents which do not have a subtype (Begin/EndGesture, Magnify, Rotate, Swipe) and cause an uncaught exception which triggers SIGABRT and the program exits. As it is, none of the macOS 10.6 touch events are detected as a trackpad (including Gesture due to using different subtypes).
Ozkan Sezer 781caec2 2021-11-15T00:55:24 SDL_waylandevents.c (keyboard_handle_keymap): silenced -Wwrite-strings .
Ozkan Sezer 5c067906 2021-11-15T00:55:04 wasapi: AvSetMmThreadCharacteristicsW takes an LPCWSTR param, not LPWSTR
Ozkan Sezer 3eb9bfac 2021-11-14T22:22:50 win32 rawinput & wgi joystick: avoid -Werror=declaration-after-statement
Sam Lantinga c55ab963 2021-11-13T22:21:57 Added a hint for alternate OpenGL NV12 data format
Ozkan Sezer 8a6e48d4 2021-11-14T04:40:50 constified SDL_RegisterApp()
Ozkan Sezer 7dfd22ac 2021-11-14T02:32:00 fix XGetDefault signature - its first and second params are _Xconst
Ozkan Sezer c7aa04d0 2021-11-14T02:31:20 SDL_test_harness.c: avoid -Wwrite-strings
Ozkan Sezer be7b663c 2021-11-14T02:30:56 audio/winmm/SDL_winmm.c (SetMMerror): constify.
Ozkan Sezer e4aa608a 2021-11-14T02:30:34 change (char*) casts to (const char*) in WIN_UTF8 macros
Cameron Gutman 674f361d 2021-11-13T11:44:04 wayland: Fix memory leaks in clipboard code
Cameron Gutman c8061ed2 2021-11-13T10:33:37 alsa: Fix possible uninitialized string
Ozkan Sezer a2c27d39 2021-11-13T17:56:28 SDL_hidapi_switch.c (ConstructSubcommand): lose use of '&' on rumbleData SwitchCommonOutputPacket_t->rumbleData is an array.
Ozkan Sezer 6ad0fb84 2021-11-13T17:55:10 SDL_hidapi_ps4.c, SDL_hidapi_ps5.c: use SDL_zeroa()
Sylvain 70c8d20a 2021-11-13T15:04:19 Revert previous commit a50ca98e2b9ca10368b62e93b6a0977dc68fd584 (see bug #4625)
Sylvain a50ca98e 2021-11-13T14:48:36 Fixed bug #4625 - SDL_RenderSetLogicalSize issues viewport becomes -2147483648x-2147483648 when logical_w/h is greater than window size. division should be done with floats
Ozkan Sezer a948ff84 2021-11-13T11:50:02 SDL_hidapijoystick.c: worked around a bogus 'unreachable code' warning.
Cameron Gutman eb3f1462 2021-11-12T18:26:15 x11: Fix memory leak in X11_CreatePixmapCursor()
Cameron Gutman 704edf63 2021-11-12T17:07:22 audio: Fix crash calling SDL_OpenAudio() after SDL_AudioInit() fails The SDL_WasInit() checks don't work when using SDL_AudioInit() directly, which is exactly what audio_initOpenCloseQuitAudio() in testautomation does.
Cameron Gutman 78013aee 2021-11-12T16:57:24 alsa: Fix use-after-free when reinitializing
Ozkan Sezer 3dc7813a 2021-11-12T20:47:02 more whitespace tidy-ups in SDL_os2messagebox.c
Sam Lantinga c2dd50a9 2021-11-12T08:28:02 Fixed whitespace
Sam Lantinga 074e613b 2021-11-12T03:03:56 Fixed typo
Sam Lantinga 35d90f17 2021-11-12T03:00:57 Better implementation of SDL_SetWindowMouseGrab() and SDL_SetWindowMouseRect() on macOS
Mathieu Eyraud 5fc7a90a 2021-11-12T10:00:41 Fix refcounting in SDL_hid_exit
Sam Lantinga 162772aa 2021-11-11T20:50:54 Fixed build warnings on Android
Cameron Gutman 50971577 2021-11-11T22:35:41 dinput: Fix memory leak when SDL_DINPUT_JoystickPresent() returns true
Misa 3bf7994f 2021-09-27T14:38:12 Add and use `SDL_FALLTHROUGH` for fallthroughs Case fallthrough warnings can be suppressed using the __fallthrough__ compiler attribute. Unfortunately, not all compilers have this attribute, or even have __has_attribute to check if they have the __fallthrough__ attribute. [[fallthrough]] is also available in C++17 and the next C2x, but not everyone uses C++17 or C2x. So define the SDL_FALLTHROUGH macro to deal with those problems - if we are using C++17 or C2x, it expands to [[fallthrough]]; else if the compiler has __has_attribute and has the __fallthrough__ attribute, then it expands to __attribute__((__fallthrough__)); else it expands to an empty statement, with a /* fallthrough */ comment (it's a do {} while (0) statement, because users of this macro need to use a semicolon, because [[fallthrough]] and __attribute__((__fallthrough__)) require a semicolon). Clang before Clang 10 and GCC before GCC 7 have problems with using __attribute__ as a sole statement and warn about a "declaration not declaring anything", so fall back to using the /* fallthrough */ comment if we are using those older compiler versions. Applications using SDL are also free to use this macro (because it is defined in begin_code.h). All existing /* fallthrough */ comments have been replaced with this macro. Some of them were unnecessary because they were the last case in a switch; using SDL_FALLTHROUGH in those cases would result in a compile error on compilers that support __fallthrough__, for having a __attribute__((__fallthrough__)) statement that didn't immediately precede a case label.
Sam Lantinga 9c3bcf8e 2021-11-11T17:31:14 Added SDL_hid_ble_scan() for pairing Steam Controllers on iOS and tvOS
Sam Lantinga abc12a83 2021-11-11T15:58:44 Revert "Add and use `SDL_FALLTHROUGH` for fallthroughs" This reverts commit 66a08aa3914a98667f212e79b4f0b9453203d656. This causes problems with older compilers: https://github.com/libsdl-org/SDL/pull/4791#issuecomment-966630997
Sam Lantinga 36b2690e 2021-11-11T15:48:56 Moved SDL HIDAPI functions into a single block for the ABI
Cameron Gutman fe09a493 2021-11-11T15:53:11 joystick: Add APIs to query rumble support
Cameron Gutman afccabb8 2021-11-11T12:12:05 joystick: Add capability flags for rumble and trigger rumble When API limitations force us to guess, we favor a false positive (reporting support when it doesn't exist) compared to a false negative.
Cameron Gutman 1ccfbf96 2021-11-11T11:13:08 joystick: Convert HasLED() into a generic GetCapabilities() function
Sam Lantinga 911d91c5 2021-11-11T14:35:51 Retry hid_send_feature_report() if the ioctl() fails with EPIPE (e.g. the device stalled)
Sam Lantinga b15e880e 2021-11-11T13:50:16 Fixed open functions in the SDL_hidapi.h header
Sam Lantinga b9b0df40 2021-11-11T12:52:31 Fixed Linux build
Sam Lantinga c9ada1c1 2021-11-11T12:45:38 Made HIDAPI device change notifications available via SDL_hid_device_change_count()
Ethan Lee 63ae103c 2021-11-11T13:16:34 wayland: QTWAYLAND_CONTENT_ORIENTATION can support multiple values as bitmasks
Sam Lantinga ebed961c 2021-11-11T09:51:39 Fixed build with older Linux kernel headers
Sam Lantinga 11ae43ca 2021-11-11T07:49:38 Only lock the pointer for mouse relative mode, there isn't really a concept of grab and confinement on iOS Locking the pointer prevents the on-screen cursor from moving, which isn't what we want with a grab behavior. Fixes https://github.com/libsdl-org/SDL/issues/4941
Misa 66a08aa3 2021-09-27T14:38:12 Add and use `SDL_FALLTHROUGH` for fallthroughs Case fallthrough warnings can be suppressed using the __fallthrough__ compiler attribute. Unfortunately, not all compilers have this attribute, or even have __has_attribute to check if they have the __fallthrough__ attribute. [[fallthrough]] is also available in C++17 and the next C2x, but not everyone uses C++17 or C2x. So define the SDL_FALLTHROUGH macro to deal with those problems - if we are using C++17 or C2x, it expands to [[fallthrough]]; else if the compiler has __has_attribute and has the __fallthrough__ attribute, then it expands to __attribute__((__fallthrough__)); else it expands to an empty statement, with a /* fallthrough */ comment (it's a do {} while (0) statement, because users of this macro need to use a semicolon, because [[fallthrough]] and __attribute__((__fallthrough__)) require a semicolon). Applications using SDL are also free to use this macro (because it is defined in begin_code.h). All existing /* fallthrough */ comments have been replaced with this macro. Some of them were unnecessary because they were the last case in a switch; using SDL_FALLTHROUGH in those cases would result in a compile error on compilers that support __fallthrough__, for having a __attribute__((__fallthrough__)) statement that didn't immediately precede a case label.
Sam Lantinga 828a0a4a 2021-11-11T07:13:29 Fixed mapping for PS4 controller when using the classic Joystick interface on Linux
Sam Lantinga dc9de1e2 2021-11-11T07:03:30 Get the correct USB VID/PID information for /dev/input/js* devices
Sam Lantinga bd92a95f 2021-11-11T06:30:36 Cleanup for the /dev/js* support (thanks @meyraud705)
Mathieu Eyraud 3090812e 2021-11-11T11:27:56 Convert last SDL_IOReady()'s 2nd parameter to flags Conversion missed in https://github.com/libsdl-org/SDL/pull/4897
Sam Lantinga 1c78b080 2021-11-10T20:02:25 Added support for /dev/input/js* on Linux Added the hint SDL_HINT_LINUX_JOYSTICK_CLASSIC to control whether /dev/input/js* or /dev/input/event* are used as joystick devices Added the hint SDL_HINT_JOYSTICK_DEVICE to allow the user to specify devices t hat will be opened in addition to the normal joystick detection Fixes https://github.com/libsdl-org/SDL/issues/1314 Fixes https://github.com/libsdl-org/SDL/issues/1727 Fixes https://github.com/libsdl-org/SDL/issues/1981 Closes https://github.com/libsdl-org/SDL/pull/4727
Sam Lantinga 65a50b24 2021-11-10T16:15:22 Re-enable udev joystick enumeration by default
Sam Lantinga dfb834d3 2021-11-10T13:41:44 Track button state for each mouse input source separately This way we'll get button down and up events for each mouseID individually. Fixes https://github.com/libsdl-org/SDL/issues/4518
Sam Lantinga eda4c407 2021-11-10T12:46:54 Make sure the X event is an Xkb event before checking the Xkb event type
Sam Lantinga 98c98362 2021-11-10T11:04:51 Don't clobber the error in SDL_ShowMessageBox() if one has been set at the platform level Fixes https://github.com/libsdl-org/SDL/issues/4760
Sam Lantinga dc4c7d95 2021-11-10T09:48:49 Fixed infinite loop in SDL_vsnprintf() if the format string is too large for the output buffer Fixes https://github.com/libsdl-org/SDL/issues/4940
Sam Lantinga d5032582 2021-11-10T09:45:56 Use consistent language between SDLTest_AssertPass() and SDLTest_AssertCheck()
Sam Lantinga 6c4b4ee7 2021-11-10T09:41:43 Don't assert on API parameters This causes lots of spam in test automation and it's not clear it's useful to developers. If we need this level of validation, we should add a log category for it.
Sam Lantinga fed85778 2021-11-10T08:47:39 Update the orientation and display modes when the display settings change on Windows Fixes https://github.com/libsdl-org/SDL/issues/1061
Sam Lantinga c0f1109b 2021-11-10T06:03:01 Implemented querying the orientation of displays on Windows
Sam Lantinga 3a31a450 2021-11-10T05:24:31 End the scene before resetting the D3D device, since we'll start with BeginScene after that. If we don't do this, we'll end up with unbalanced Begin/End scene pairs which causes D3DERR_INVALIDCALL in the present. Fixes https://github.com/libsdl-org/SDL/issues/4933
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.
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 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.
Sam Lantinga 0f2bf629 2021-11-09T06:20:46 Fixed building hidapi when libusb is available
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.
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
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.
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
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.
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 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