src


Log

Author Commit Date CI Message
Sylvain Becker fb0ce375 2022-11-27T17:38:43 Cleanup add brace (#6545) * Add braces after if conditions * More add braces after if conditions * Add braces after while() conditions * Fix compilation because of macro being modified * Add braces to for loop * Add braces after if/goto * Move comments up * Remove extra () in the 'return ...;' statements * More remove extra () in the 'return ...;' statements * More remove extra () in the 'return ...;' statements after merge * Fix inconsistent patterns are xxx == NULL vs !xxx * More "{}" for "if() break;" and "if() continue;" * More "{}" after if() short statement * More "{}" after "if () return;" statement * More fix inconsistent patterns are xxx == NULL vs !xxx * Revert some modificaion on SDL_RLEaccel.c * SDL_RLEaccel: no short statement * Cleanup 'if' where the bracket is in a new line * Cleanup 'while' where the bracket is in a new line * Cleanup 'for' where the bracket is in a new line * Cleanup 'else' where the bracket is in a new line (cherry picked from commit 6a2200823c66e53bd3cda4a25f0206b834392652 to reduce conflicts merging between SDL2 and SDL3)
Samuel Venable 0739d237 2022-11-27T21:19:41 [skip ci] Solaris getexecname() returns argv[0] `argv[0]`/`getexexname()` are not always absolute paths by default and can be modified to anything the developer wants them to be. Consider using `readSymLink("/proc/self/path/a.out")` instead and `getexecname()` as the fallback, since the symlink will always be the correct absolute path (unless /proc is ot mounted, but it is by default on Solaris and Illumos platforms). (cherry picked from commit 4f5e9fd5bda0d58c2907f75fa4ea0c92c3a2525f)
Markus Mittendrein 81452121 2022-11-27T22:46:54 SDL_ResampleAudio: Fix float accumulation error While 78f97108f9dad22db6708f28322561eb9828fc36 reduced the accumulation error, it was still big enough to cause distortions. Fixes #6196.
Joshua Root 2df39e64 2022-11-27T11:27:19 Fix build with Xcode < 7 The _Nullable attribute is not available in older versions. (cherry picked from commit 9a64aa6f95298bf459f8b9dca583df7064956cd9)
Sam Lantinga 8fddf146 2022-11-26T13:09:50 Temporary hack to address performance issues in https://github.com/libsdl-org/SDL/issues/6581#issuecomment-1327987916 (thanks @icculus!) (cherry picked from commit 9c8369e097b229997875c0aeb4dc9cfdcde0e2b2)
Ryan C. Gordon 3f5593d6 2022-11-26T13:57:12 cocoa: Patched to compile on macOS SDK < 10.10. Fixes #6586. (cherry picked from commit fa5adcafd52303fde86c64094462303404259d75)
Michael Fitzmayer e19c532e 2022-11-24T21:53:17 Add bitdraw.h, remove non-working stub class (cherry picked from commit 67f31a19a8eb06ee80bccb9ec8cc8c34aa635b3d)
Sylvain Becker 192cdf3d 2022-11-24T16:07:03 SDL_mfijoystick.m: remove VLA, so that projects can be built with error on vla
Frank Praznik 66bd1555 2022-11-23T23:11:25 wayland: Fix build when not using the shared Wayland libraries Explicitly include the Wayland protocol headers when statically linking against the Wayland libraries or older system headers might be used instead of the local versions. (cherry picked from commit 836eb224428aca3bdab2a6bf56d347262e475b15)
Sam James 4c7156c1 2022-11-24T05:21:21 Avoid use of deprecated egrep/fgrep GNU grep 3.8 emits a deprecation warning on use of egrep/fgrep. Signed-off-by: Sam James <sam@gentoo.org> (cherry picked from commit 3e7952ce8a0affd325c802755cae5fd843b86d99)
Joshua Root 33e5de31 2022-11-24T11:06:37 vulkan_metal.h: Make compatible with ObjC ARC Fixes #6598 (cherry picked from commit 239423e205496997a387b4f265b1cdaf5acd18cb)
Frank Praznik 3eaf5689 2022-11-23T18:11:50 wayland: Fix libdecor_dispatch signature The function returns an int, not a bool. (cherry picked from commit f47169fcba8a27bb0740b6b4993989ff9262c21f)
Joshua Root 242ce20c 2022-11-24T07:37:36 SDL_mfijoystick.m: fix build with Xcode < 9 Fixes #6601. (cherry picked from commit 53ca1f77029289a58f1a9963a00b637b903f494d)
Joshua Root f52e7199 2022-08-28T00:52:19 Check build-time SDK in LoadMainMenuNibIfAvailable Fixes building against OS X 10.7 SDK. (cherry picked from commit f8cebeea599ae65f36d388257a9d9a8ed8ada576)
Joshua Root e12c831b 2022-11-24T06:32:49 SDL_cocoaopengl.h: ensure CVDisplayLinkRef is defined The typedef seems to be pulled in coincidentally with newer SDKs, but older ones need to import the header explicitly. (cherry picked from commit d2910904fb4062c313636c7595e971f1bf248075)
Ozkan Sezer cd399caf 2022-11-23T22:50:10 fix dynapi after SDL_GDKSuspendComplete addition.
Ciro Mondueri f6144dfe 2022-11-23T16:41:14 adds GDK suspend/resume basic handling (#6596)
Sam Lantinga dce6ed56 2022-11-22T10:56:44 Removed G29 from controller_type.c We don't want the G29 to show up as a gamepad, Steam will create a virtual Xbox controller for it, which breaks racing games.
Sam Lantinga e3d430b8 2022-11-22T10:53:28 Revert "Added Linux mappings for the Logitech G29 in PS3 and PS4 modes" This reverts commit 33a68f575f484723aa326f8a2d96f2b8a084da4a. We don't want the G29 to show up as a gamepad, Steam will create a virtual Xbox controller for it, which breaks racing games.
Sam Lantinga ea8f8b6d 2022-11-21T16:36:10 Updated to version 2.27.0 for development
Sam Lantinga 0bfeed06 2022-11-21T16:15:58 Updated to version 2.26.0 for release
Sam Lantinga d167cd67 2022-11-21T09:02:10 Added the Gunfighter Mk.III ‘Space Combat Edition’ as a flight stick
Sam Lantinga 8b20b568 2022-11-21T07:41:35 Don't report battery level for disconnected batteries Fixes https://github.com/libsdl-org/SDL/issues/6536
Frank Praznik fe396e30 2022-11-19T11:28:31 wayland: Use the cached window size when switching from non-floating to floating window state When changing the window state from non-floating to floating (e.g. leaving fullscreen), libdecor can send bogus content sizes that are +/- the height of the window title bar and start 'walking' the window height in one direction or the other with every transition. The floating window size is known, so use the cached value instead of the size reported by libdecor when restoring the floating state.
Sam Lantinga 509939b1 2022-11-18T18:20:53 Disable the third party PS3 HIDAPI driver by default, the L3/R3 buttons are unknown
Sam Lantinga ff99e56d 2022-11-18T12:54:55 Fixed KMSDRM window creation failing if OpenGL libraries are not available, but GLES 2.0 libraries are
Sam Lantinga da9ba3a2 2022-11-18T12:17:27 If a CRTC doesn't have a mode configured, use the preferred or largest mode as the default mode Fixes https://github.com/libsdl-org/SDL/issues/6421
Sam Lantinga ea4ea27a 2022-11-18T11:14:14 Don't trigger an error if we try to delete a touch device after shutting down the touch system This can happen on Raspberry Pi if the display system fails to initialize.
David Gow 81479d87 2022-11-18T21:08:36 wayland: keyboard: Cache text input parameters. Some applications (and embarrassingly, testime is one of them) call SDL_StartTextInput() or SDL_SetTextInputRect() every frame. On KDE/KWin with fcitx5, this causes there to be several preedit events every frame (particularly given some of the workarounds in Wayland_StartTextInput), which slows testime down to an unusable crawl. Instead, make SDL_StartTextInput() a no-op if text input is already enabled, and cache the input rect, only changing it when the new rect is actually different. With these changes, we only get preedit events (and hence SDL_TEXTEDITING events) when the preedit string actually changes. This matches the behaviour under XWayland, and works very smoothly.
Ozkan Sezer 6dc96aa7 2022-11-18T18:02:10 SDL_UDEV_DelCallback: return early if _this is NULL Fixes https://github.com/libsdl-org/SDL/issues/6548
Sylvain 16824865 2022-11-18T11:01:21 Cleanup of SDL_SetError that already return -1 value
Sylvain 3e70553c 2022-11-18T11:06:49 Unneed test before calling SDL_FreeSurface
Sam Lantinga 78ea6af2 2022-11-17T09:01:35 Updated to version 2.25.1 for release candidate
Sylvain 89572af6 2022-11-17T11:43:46 Fixed bug #6537 - AIX: use PAUDIO_WaitDevice
Sylvain cd0d5a5f 2022-11-17T11:23:15 Don't compare pointer against '0', but NULL
Sylvain ddad901c 2022-11-17T10:43:45 Remove unneeded semicolon
Sylvain 60c6cd55 2022-11-17T09:34:27 Fixed bug #6533 - PS2_JoystickUpdate: some invalid condition
Sam Lantinga 77bcd269 2022-11-16T22:23:16 Allow creating an empty surface with pitch 0 This fixes Maelstrom, which creates an empty staging surface and then uses it for transfer to texture
Ryan C. Gordon a1702d46 2022-11-16T23:39:41 ibus: Try to use org.freedesktop.portal.IBus first if available. This should fix apps that want ibus support inside sandboxed environments like FlatPak or Snaps. Fixes #4706.
Ryan C. Gordon bb0b8ada 2022-11-16T22:02:21 mac: Fix handling of deprecated symbol. This needs to check what our deployment target is, not what SDK is available, since this is a linker symbol and not an enum value or whatever. Also removed a copy/paste error that mentioned CoreAudio in the haptic subsystem. Fixes #6534.
Sam Lantinga 913e403f 2022-11-16T18:03:29 Fixed error message when trying to create an OpenGLES2 renderer on macOS Testing: testsprite2 --renderer opengles2 OpenGLES2 isn't available by default, and we want to see the error "Could not load EGL library"
Sam Lantinga fcc994e1 2022-11-16T17:39:55 ensure that SDL2 does not set conflicting window flags (thanks @pionere!)
Sylvain ce5da5d5 2022-11-16T21:47:43 Don't compare pointer against '0', but NULL
Sylvain 1d7966df 2022-11-16T21:27:16 Remove un-needed check for NULL pointer. They were previously checked just before.
Frank Praznik 8ea96f36 2022-11-16T11:32:31 events: Remove X and XKB keysym constants and headers The XKB_KEY_* and XK_* macros resolve to the same constant values, so use the raw values and note what keys they correspond to in the comments, as is done for the other keysym values in this file. This completely eliminates the need for any X or XKB system headers along with the if/else defines.
Ryan C. Gordon 389ffab7 2022-11-16T12:53:48 Code style fixes, etc. Reference PR #6345.
ulatekh ec58a817 2022-10-05T19:26:09 Fixes made in response to running a static code analyzer under MS Windows. Most of these are probably harmless, but the changes to SDL_immdevice.c and SDL_pixels.c appear to have fixed genuine bugs. SDL_audiocvt.c: By separating the calculation of the divisor, I got rid of the suspicion that dividing a double by an integer led to loss of precision. SDL_immdevice.c: Added a missing test, one that could have otherwise led to dereferencing a null pointer. SDL_events.c, SDL_gamecontroller.c, SDL_joystick.c, SDL_malloc.c, SDL_video.c: Made it clear the return values weren't used. SDL_hidapi_shield.c: The size is zero, so nothing bad would have happened, but the SDL_memset() was still being given an address outside of the array's range. SDL_dinputjoystick.c: Initialize local data, just in case IDirectInputDevice8_GetProperty() isn't guaranteed to write to it. SDL_render_sw.c: drawstate.viewport could be null (as seen on line 691). SDL.c: SDL_MostSignificantBitIndex32() could return -1, though I don't know if you want to cope with that (what I did) or SDL_assert() that it can't happen. SDL_hints.c: Replaced boolean tests on pointer values with comparisons to NULL. SDL_pixels.c: Looks like the switch is genuinely missing a break! SDL_rect_impl.h: The MacOS static checker pointed out issues with the X comparisons that were handled by assertions; I added assertions for the Y comparisons. SDL_yuv.c, SDL_windowskeyboard.c, SDL_windowswindow.c: Checked error-result returns.
Ryan C. Gordon 7ebdae5d 2022-11-16T11:45:41 cocoa: Fix OpenGL deprecation warning.
Ryan C. Gordon 7c760f7f 2022-11-16T11:32:08 cocoa: Update CVDisplayLink timing when screen changes. This handles both the window moving to a new display and changing the current display's refresh rate in System Preferences Reference Issue #4918.
Ryan C. Gordon 1fd66cc8 2022-11-16T10:15:21 Revert "cocoa: Backed out CVDisplayLink code for macOS vsync." This reverts commit 04b50f6c6bef67b744b192c78775771b51ff2141. It turns out OpenGL vsync has broken again in macOS 12, so we're reintroducing our CVDisplayLink code to deal with it, again. Reference Issue #4918.
Ryan C. Gordon 9d67686a 2022-11-16T10:08:40 haptic: Deal with deprecated macOS symbol.
Ryan C. Gordon 6801d676 2022-11-16T09:52:33 Revert "pulseaudio: Only use PA_STREAM_ADJUST_LATENCY if buffer isn't super small." This reverts commit d8b1ef42aee52dad4ac3de69795ca2e8d2fd7704. This turned out to be unnecessary (it was a problem on the user's system, not an SDL bug). Reference Issue #6121.
Frank Praznik 903301c6 2022-11-16T02:04:59 wayland: Always use integer scaling for cursors. Cursors don't get fractionally scaled, so always scale system cursor sizes to the next whole integer.
Ryan C. Gordon d8b1ef42 2022-11-15T22:18:51 pulseaudio: Only use PA_STREAM_ADJUST_LATENCY if buffer isn't super small. Fixes #6121.
Sam Lantinga 02ab7f37 2022-11-15T12:57:07 Fixed release build using clang on Windows
Sam Lantinga 98f93d0a 2022-11-15T11:39:06 Fixed building without xkbcommon support
Sam Lantinga 615901db 2022-11-15T11:19:08 Removed unnecessary header The xkbcommon-keysyms.h header isn't available on some older systems, and we don't actually need it for this code.
Frank Praznik c8551847 2022-11-04T12:41:46 wayland: Handle virtual keyboards that don't fit the X mapping SDL is built around the concept of keyboards having a fixed layout with scancodes that correspond to physical keys no matter what linguistic layout is used. Virtual keyboards don't have this concept and can present an arbitrary layout of keys with arbitrary scancodes and names, which don't fit the SDL model. When one of these keyboards is encountered, it requires special handling: use the keysym of the pressed keys to derive their ANSI keyboard scancode equivalents for control keys and ASCII characters. All other characters are passed through as text events only.
Frank Praznik d1858eb1 2022-11-04T12:33:45 events: Add a helper function to get the default keycode for a scancode Add a helper function to get the keycode for a scancode from the default lookup table. Unlike SDL_GetKeyFromScancode(), this is not affected by the set keymap.
Frank Praznik 0e446c54 2022-11-04T12:27:36 events: Factor out the xkb keysym to scancode conversion from the X11 driver
Ryan C. Gordon 44d7b8b9 2022-11-15T13:57:01 egl: Check for a NULL pointer in SDL_EGL_GetProcAddress. This happens on kmsdrm if you try to GetProcAddress before creating a window. Fixes #5399.
Ethan Lee f3cc99fb 2022-11-15T13:56:44 x11: Minor style fixes for recent OSK changes
Sam Lantinga 70656b13 2022-11-15T10:18:41 Don't recreate the window when creating a Metal renderer on an OpenGL window. It turns out that we can safely create a Metal view on an existing window, and that avoids issues with the window being recreated with the wrong orientation in iOS 16. Fixes https://github.com/libsdl-org/SDL/issues/6289
Pierre Wendling 80ff20f6 2022-11-14T23:56:20 N3DS: Set keyboard focus to newly created windows. This fixes polling issues with Joystick subsystem where `SDL_PrivateJoystickShouldIgnoreEvent` would always return true, thus ignoring all inputs.
Pierre Wendling 491d0bcc 2022-11-14T17:38:42 N3DS: Refactor N3DS_FileOpen.
Pierre Wendling de5fa89b 2022-11-14T16:56:51 N3DS: Prepend PrefPath with `sdmc:`.
Pierre Wendling 7d536d52 2022-11-14T16:16:21 N3DS: Put `SDL_Log.txt` in the proper directory. The homebrew "user" directory should be `/3ds/`. To avoid ambiguity, `sdmc:` is specified.
Pierre Wendling bf4f9aaa 2022-11-14T16:11:58 N3DS: Use designated initialiser for drivers. Just a sanity check that the functions are actually mapped correctly.
Sam Lantinga a40b7cde 2022-11-14T13:03:52 Workaround for views being in portrait instead of landscape mode on iOS 16 Fixes https://github.com/libsdl-org/SDL/issues/6289
pionere b886f4c6 2022-11-14T17:35:28 events: eliminate redundant code in SDL_SendEditingText
pionere dad8df3e 2022-11-14T08:20:31 video: check graphics flags the same way in SDL_RecreateWindow as in SDL_CreateWindow - single check to validate the graphics flags - check it before tearing down the window
Frank Praznik eef4d3c8 2022-11-13T16:56:04 wayland: Clamp wl_seat version on older versions of libwayland Clamp the wl_seat max version to 5 if being built against a version of libwayland below 1.21.0, or containers that bundle newer versions of SDL with older versions of libwayland can break if the compositor advertises support for a protocol version above 5.
Sam Lantinga 67498926 2022-11-13T11:09:20 Fixed warning Fixes https://github.com/libsdl-org/SDL/issues/5842
Ethan Lee c4b9f621 2022-11-13T12:45:13 x11: Add support for the Steam Deck on-screen keyboard
pionere 5f2a1231 2022-11-13T08:00:03 video: check graphics flags the same way as the type flags
pionere 22354b41 2022-11-12T08:29:15 video: simplify window-type check in SDL_CreateWindow
Ryan C. Gordon 85aa9b8b 2022-11-11T13:47:36 wasapi: Favor the system resampler again, for now. Reference Issue #5538.
Sam Lantinga 9f8b68a2 2022-11-11T10:24:17 Fixed building without linux/input.h https://github.com/libsdl-org/SDL/issues/6169
Sam Lantinga b7e65a81 2022-11-11T08:57:07 Fixed incorrect WGI controller state when the application loses focus Recenter the controller elements when WGI stops reporting valid state Fixes https://github.com/libsdl-org/SDL/issues/5261
Michael Fitzmayer 875e9b35 2022-10-26T15:19:28 N-Gage: additional cleanup
Michael Fitzmayer afbafc2a 2022-10-21T08:11:48 Remove redundant dependency to bitdraw.h, minor cleanup
pionere d09edcbc 2022-11-11T12:10:27 video: sync Metal_CreateView with GL_CreateContext and Vulkan_CreateSurface no need to check if _this->Metal_CreateView, since it is already checked in Re(create)Window
pionere b71d9274 2022-11-11T12:09:15 video: add NOT_AN_OPENGL_WINDOW define (similar to NOT_A_VULKAN_WINDOW)
pionere 36c6ed4b 2022-11-11T08:33:55 video: add SDL_DllNotSupported - add SDL_DllNotSupported and use it to sync the behavior of SDL_GL_LoadLibrary with SDL_Vulkan_LoadLibrary
Sam Lantinga 0dfc829a 2022-11-10T19:16:53 Added simple BLE Steam Controller support on all platforms This is still disabled by default via the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM
Sam Lantinga f430ef5d 2022-11-10T17:27:48 Don't change the window position when creating it on iOS, it is already placed on the correct display
Sam Lantinga 7c05ea0a 2022-11-10T13:35:40 Added mappings for the GameSir T3 and T4 Pro controllers
Sam Lantinga 404cb276 2022-11-10T13:28:03 Added macOS mappings for the Nintendo Switch Pro Controller over Bluetooth
pionere 29cafa9c 2022-11-10T08:23:16 add SDL_ContextNotSupported and validate flags in SDL_RecreateWindow similar to SDL_CreateWindow
Ryan C. Gordon 1008cc8e 2022-11-09T12:55:27 video: Add some braces to match SDL coding style.
pionere ac3349fa 2022-11-09T09:11:04 solve FIXMEs in SDL_video.c
pionere e5c599f8 2022-11-09T09:02:23 fix SOLARIS_ATOMICS - use 'sizeless' int types (int uses 32-bit even if _LP64 is set)
pionere b095df7f 2022-11-08T08:39:43 simplify MSC_ATOMICS - use _Interlocked(Compare)ExchangePointer in case of _M_IX86 as well - improve assertions: 1. add assertions to SDL_AtomicAdd/SDL_AtomicSet and SDL_AtomicCAS 2. use sizeof(a->value) instead of sizeof(int)
meyraud705 3dc88da0 2022-11-08T13:27:56 Fix Dualshock 4 rumble stopping too early Dualshock 4 controller only rumbles for 5 seconds maximum. Resend rumble command every 2 seconds to make long rumble work.
Sam Lantinga 6432f45a 2022-11-08T10:27:21 Don't treat the Nintendo IMU as a separate game controller on Linux
Sam Lantinga 2e3b4f3f 2022-11-08T07:50:51 Don't send rumble to the Amazon Luna controller on macOS Sending rumble to the Amazon Luna controller on macOS gets there, but IOHIDDeviceSetReport() blocks for a long time and eventually fails. This appears to be a bug in the macOS Bluetooth stack, ref rdar://99265496
Sam Lantinga 02bc359b 2022-11-07T19:31:18 Shorten "Bensussen Deutsch & Associates,Inc.(BDA)" to "BDA" for controller names
Ryan C. Gordon b0dc6709 2022-11-07T14:26:48 coreaudio: Don't use deprecated kAudioObjectPropertyElementMaster symbol. Fixes #6449.
pionere e873d609 2022-11-07T10:02:06 fix handling of SDL_EventQ.active - SDL_EventQ.active is a bool variable -> do not use SDL_AtomicGet/Set, it does not help in any way - protect SDL_EventQ.active with SDL_EventQ.lock - set SDL_EventQ.active to FALSE by default
pionere eb670742 2022-11-07T09:05:32 better SDL_AtomicGet(Ptr) implementation