Log

Author Commit Date CI Message
Sam Lantinga cb107bef 2022-08-01T14:23:50 Fixed crash if all displays have been disconnected Fixes https://github.com/libsdl-org/SDL/issues/5867
Sam Lantinga 12aa4d56 2022-08-01T11:11:25 Added header needed for SDL_Delay()
Sam Lantinga aeb27514 2022-08-01T10:38:31 Poll DirectInput devices to get their initial state Fixes https://github.com/libsdl-org/SDL/issues/3816
Sam Lantinga 3a6cb7e7 2022-08-01T10:28:29 Convert XLookupString Latin-1 text to UTF-8 Fixes bug https://github.com/libsdl-org/SDL/issues/4699
Sam Lantinga 0cd5b08b 2022-08-01T09:43:15 Fixed infinite loop when SDL_SendKeyboardText() is passed invalid UTF-8 text
Sam Lantinga 954bbdf3 2022-08-01T09:51:21 Allow emscripten platform to build without threads
Sam Lantinga e4cc076a 2022-08-01T09:15:44 Threads are used by many SDL subsystems and may not be disabled. Fixes https://github.com/libsdl-org/SDL/issues/5095
Sam Lantinga 15bcf58d 2022-08-01T08:14:40 Fixed memory leak in the Windows driver
Ryan C. Gordon cf63af8a 2022-07-31T22:10:45 events: Don't lose window RESIZED events during SIZED_CHANGED processing. Previously, calling SDL_SendWindowEvent for a SIZED_CHANGED event would filter the queue to remove RESIZED and SIZED_CHANGED events, so you don't overflow the queue with obsolete data, but any RESIZED events would be lost in this process. Now we note if there was a RESIZED pending and replace it with a new event using the same dimensions as the new SIZED_CHANGED event. This fixes cases where an app is only listening for RESIZED events and thus might lose important information in some cases. Fixes #5925.
Cameron Gutman 17f36c10 2022-07-31T16:16:38 keyboard: Remove no-op calls to SDL_SetKeymap()
Cameron Gutman 9515fb25 2022-07-31T16:10:10 keyboard: Use SDL_SetKeymap() to set the default keymap This ensures the AZERTY workaround is applied for backends that never call SDL_SetKeymap() themselves.
Cameron Gutman 8b438f7b 2022-07-31T15:34:03 keyboard: Only send SDL_KEYMAPCHANGED when the keymap actually changes
Cameron Gutman a10c57df 2022-07-31T14:18:33 evdev: Report touchpad events with the correct device type
Cameron Gutman 9a33c62e 2022-07-31T14:06:59 evdev: Use SDL_bool for boolean types
Cameron Gutman f9d1f34b 2022-07-31T13:10:43 evdev: Report a unique ID for each mouse device
Cameron Gutman 574db63c 2022-07-31T12:36:11 evdev: Batch mouse axis updates until SYN_REPORT This is necessary for consistent position reports with absolute mice and improves application performance with relative mice by cutting the number of reported mouse motion events roughly in half.
Sam Lantinga 7f42fb54 2022-07-30T16:34:40 Applied DragonFly BSD patch https://github.com/DragonFlyBSD/DeltaPorts/blob/master/ports/devel/sdl20/dragonfly/patch-src_stdlib_SDL__malloc.c
Sam Lantinga ce5a23bd 2022-07-30T16:32:21 Applied DragonFly BSD patch https://raw.githubusercontent.com/DragonFlyBSD/DeltaPorts/master/ports/devel/sdl20/dragonfly/patch-include_SDL__endian.h
Sam Lantinga 6926ff3c 2022-07-30T16:30:32 Applied DragonFly BSD patch https://github.com/DragonFlyBSD/DeltaPorts/blob/master/ports/devel/sdl20/dragonfly/patch-configure
Sam Lantinga 21100006 2022-07-30T16:22:24 Don't conflict with usage of stdout as a stdio macro Patch inspired by http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/pkgsrc/devel/SDL2/patches/patch-src_video_wayland_SDL__waylandmessagebox.c?rev=1.1&content-type=text/plain
Cameron Cawley 6e9a606a 2022-07-30T21:08:07 Add more mingw-w64 build workflows
Cameron Cawley 3bdc10f8 2022-07-30T19:41:48 Update the list of required Ubuntu packages, and add Ubuntu 22.04 workflows
Cameron Cawley adb3e1a2 2022-07-30T13:35:38 Add FreeBSD builds to GitHub Actions
Frank Praznik 22f25b03 2022-07-24T13:22:39 core: linux: Favor xdg-desktop-portal for elevating thread priority Use the xdg-desktop-portal interface to RealtimeKit1, when available, to set realtime scheduling and elevated priority for threads. This portal allows for the use of rtkit within containers such as Flatpak. It will fall back to using RealtimeKit1 directly if the xdg-desktop-portal interface is too old or not available.
Sam Lantinga 2241bd66 2022-07-29T20:37:38 Added a command line option `--info event_motion` to show mouse and finger motion events
Sam Lantinga 13e0c40e 2022-07-29T17:28:36 Added mapping for the 8BitDo Pro 2 controller in DirectInput mode over Bluetooth on Linux
Sam Lantinga 62c83166 2022-07-29T17:14:55 Added mapping for the 8BitDo Pro 2 controller in DirectInput mode
Sam Lantinga 41c363f7 2022-07-29T16:27:23 Note that the PDP Versus Fighting Pad is an arcade fighting pad
SDL Wiki Bot 47265f37 2022-07-29T13:24:05 Sync SDL wiki -> header
Anonymous Maarten 83f5bbdf 2022-07-28T14:08:20 cmake: define SDL_STATIC_LIB for static SDL2 library
Anonymous Maarten bdd1d035 2022-07-28T02:38:04 cmake: Don't add /NODEFAULTLIB to link flags when building SDL-static
Anonymous Maarten 36dfbe5d 2022-07-28T02:06:29 stdlib: exclude mslibc functions using SDL_STATIC_LIB macro
Anonymous Maarten f8aa00d1 2022-07-28T16:30:02 cmake: add HAVE_STDDEF_H to SDL_config.h.cmake
Sam Lantinga 181877eb 2022-07-28T21:54:34 Added SDL_hidapi_combined.c to the Xcode project
Sam Lantinga f3c1194c 2022-07-28T21:50:41 Removed obsolete comment
Sam Lantinga aee179e4 2022-07-28T21:50:20 Removed debug output
Sam Lantinga d8fd7873 2022-07-28T21:44:23 Added entry for the Nintendo Switch Joy-Con controller pair
Sam Lantinga 875b737c 2022-07-28T21:39:32 Added support for the Nintendo Online NES Controllers to the HIDAPI driver
Xiaofeng Wang 45c1cc81 2022-07-29T11:30:17 Compatible with including as <SDL2/SDL.h>
Sam Lantinga ab967475 2022-07-28T19:38:38 Greatly improved Nintendo Joy-Con support using the HIDAPI driver * Added support for mini-gamepad mode for Joy-Con controllers, matching the mapping for hid-nintendo on Linux and iOS 16 * Added the ability to merge left and right Joy-Con controllers into a single Pro-style controller * Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_COMBINE_JOY_CONS to control this merging functionality * Removed the hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
Sam Lantinga dfed862a 2022-07-28T19:35:46 Fixed variable shadow warning
Sam Lantinga 2fa2f9ff 2022-07-28T19:22:27 Greatly improved Nintendo Joy-Con support using the HIDAPI driver * Added support for mini-gamepad mode for Joy-Con controllers, matching the mapping for hid-nintendo on Linux and iOS 16 * Added the ability to merge left and right Joy-Con controllers into a single Pro-style controller * Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_COMBINE_JOY_CONS to control this merging functionality * Removed the hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
Sam Lantinga def60ce6 2022-07-27T19:20:42 Fixed the name of the HIDAPI Joy-Con controller for consistency with other drivers
Sam Lantinga 0f1be940 2022-07-27T17:32:51 Updated mapping for Joy-Con controllers using hid-nintendo This matches the mapping on iOS 16 and will match the HIDAPI implementation.
Sam Lantinga 756978a2 2022-07-27T16:17:32 Left and right single Joy-Con controllers are mapped as individual mini controllers
Sam Lantinga 4990bd05 2022-07-27T16:17:32 Added debug code to show available inputs on iOS/tvOS controllers
Anonymous Maarten 65473ae3 2022-07-25T02:01:59 autoconf: use ax_compute_relative_paths
Sam Lantinga dbf79405 2022-07-27T10:31:24 Enable capturing raw Xinput2 touch events and use to flag global mouse state as dirty - Touch events may be translated to mouse movement events without the normal Xinput2 raw motion events being sent. Not all touch events will necessarily move the mouse but this ensures we update the global mouse state just in case. - Fix up some formatting CR: saml
Ryan C. Gordon 42165fe8 2022-07-27T12:12:03 kmsdrm: slightly better device index hint parsing.
Anonymous Maarten 02c87471 2022-07-27T15:05:41 math.h does not always provide M_PI This fixes the following error when building with SDL_LIBC: SDL\test\testautomation_math.c(1965): error C2065: 'M_PI': undeclared identifier
Anonymous Maarten 5da85376 2022-07-26T21:47:52 stdlib: move all mslibc functions to SDL_mslibc.c This allows disabling LTO on them by only specifying a single file.
Sam Lantinga a169259f 2022-07-27T09:05:02 Actually we don't need to unlock to send k_eSwitchProprietaryCommandIDs_ForceUSB since we don't wait for reply
Sam Lantinga c51464d9 2022-07-27T09:00:39 Put the Nintendo Switch Pro controller back into enhanced mode as needed Fixes https://github.com/libsdl-org/SDL/issues/3450
Anonymous Maarten 5c70e45c 2022-07-25T23:46:36 cmake: don't use result of 'find_library' for Android libraries
Anonymous Maarten 430c3908 2022-07-25T23:35:59 ci: test 'sdl2-config --static-libs' + 'pkg-config sdl2 --static' on ci
Anonymous Maarten 4690689a 2022-07-25T23:06:52 cmake: on Apple, don't use find_library for frameworks + use EXTRA_LDFLAGS
Sam Lantinga 613ce785 2022-07-26T13:34:27 Fixed interpreting SDL_KMSDRM_DEVICE_INDEX="" as index 0
Pierre Wendling 36d45679 2022-07-26T15:42:01 CI: Fix CMake workflow. - Add quotes the OSX_ARCHITECTURES list. - Extract the flag in the matrix.
Ryan C. Gordon cc982ea7 2022-07-26T15:43:34 kmsdrm: let device indexes be > 2 digits.
Pierre Wendling c37c1f7a 2022-07-26T15:24:38 CI: Make macOS universal build with CMake.
diddily 1f276a51 2022-07-26T13:30:59 Fix Main Thread Checker warning on macOS Cache off NSWindow's windowNumber in SDL_WindowData on setup and use that in `Cocoa_SendWakeupEvent` to prevent accessing windowNumber off the main thread.
Ryan C. Gordon 31d38f2f 2022-07-26T15:14:37 WhatsNew.txt: Note that minimum macOS version is now 10.9.
Ryan C. Gordon 542a4da3 2022-07-26T15:11:19 kmsdrm: check SDL_HINT_KMSDRM_DEVICE_INDEX hint in dri_getindex(). Otherwise, it would work for Init but not Available.
Ryan C. Gordon 218c3dbb 2022-07-26T14:45:26 cocoa: Don't crash if moving a message box created before SDL_Init. Fixes #5928.
Sam Lantinga f789bc7d 2022-07-26T11:36:01 Updated minimum OS targets on Apple platforms to match supported platforms using Xcode 13
Ryan C. Gordon 8ff738f2 2022-07-26T12:40:47 audio: Report SDL_AUDIODEVICEREMOVED for unopened devices. Unopened devices, if removed, now send SDL_AUDIODEVICEREMOVED events with a `which` field set to zero. Apps can use this to decide if they need to refresh a list of devices being shown in an options menu, etc. It's safe to call SDL_CloseAudioDevice(0), so even if they try to clean up this bogus id, it should be safe. Fixes #5199.
Ryan C. Gordon 5d85c7d3 2022-07-26T00:19:16 kmsdrm: Added a hint to specify device index. Fixes #2811.
Ryan C. Gordon 20a76b0e 2022-07-25T23:06:58 video: removed unused devindex argument from bootstrap's create method.
Sam Lantinga cbb3f4ca 2022-07-25T19:52:46 Add SDL_guid.h to the global SDL header
pionere 12211df6 2022-02-05T10:44:26 hide SDL_GenerateAssertionReport in case SDL_ASSERT_LEVEL is 0 otherwise SDL_PromptAssertion (and SDL_GenerateAssertionReport) can not be eliminated
Sam Lantinga a423848e 2022-07-25T11:26:18 Allow floating point values for SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED This allows setting the brightness of the home LED on Nintendo Switch Pro controllers, in the range 0.0 - 1.0. This can be updated at runtime by setting the hint dynamically. Fixes https://github.com/libsdl-org/SDL/issues/3787
diddily 1e492b2f 2022-07-25T10:12:53 Improve behavior of SDL_events_need_periodic_poll() and SDL_events_need_polling() SDL_events_need_periodic_poll() and SDL_events_need_polling() are intended to allow the event loop to update joysticks and/or sensors if needed, however those systems only update when the SDL_update_joysticks and/or SDL_update_sensors variables are true. This change brings the behavior of these functions in line with if work will actually need to be performed. This change allows the hints for AUTO_UPDATE to influence the polling behavior of the event loop such that an app can choose to update joysticks/sensors itself and avoid the expense of constantly sleeping and waking the event loop. Additionally in makes these functions marginally faster in some situations by not searching the active events.
diddily d9bda89f 2022-07-25T10:03:36 Fix updating SDL_update_joysticks and SDL_update_sensors in response to hint changes Hint callbacks are called before the actual value in the hint is changed, so the functions SDL_AutoUpdateJoysticksChanged and SDL_AutoUpdateSensorsChanged were not actually properly updating their respective variables in repsonse to their auto update hint changing. Instead, we pull the new hint value out of the value passed into the callback and use that to update the variables. Assume true on a null value as that was the previous behavior and it matches with the default values of SDL_update_joysticks/SDL_update_sensors.
diddily 0ec5bb4e 2022-07-25T10:37:23 Add missing controller events to `SDL_GameControllerEventState()` Events to handle controller touchpads and sensors were added to the library but not added in `SDL_GameControllerEventState()`. This change adds the missing events.
Anonymous Maarten f86ec47f 2022-07-25T15:08:33 ci: don't use ANDROID_NDK_HOME environment variable in Android workflow
Sam Lantinga 4d665017 2022-07-24T18:04:26 Fixed building with 10.9 SDK Fixes https://github.com/libsdl-org/SDL/issues/5954
Cameron Gutman 3ab1e303 2022-07-24T15:29:42 joystick: Refactor and fix a few bugs in Shield HIDAPI driver - CMD_CHARGE_STATE was checking the seqnum instead of the payload - Off-by-one error in size validation for command payload - Unused payload space was left uninitialized in output report
Cameron Gutman b8a55407 2022-07-24T15:19:02 testgamecontroller: Add battery reporting
Sam Lantinga 4d8bb89c 2022-07-24T11:50:14 Fixed mouse clip rect bounds on Windows Fixes https://github.com/libsdl-org/SDL/issues/5946
Dean Herbert 6bcde52d 2022-07-24T20:19:16 Further adjust implementation of `Cocoa_GetWindowDisplayIndex` As discussed in PR review, there may be an off-chance that the index returned doesn't match up with SDL's display indexing. This change ensures that the indices match and adds a safety check for off-screen windows.
Dean Herbert ce8aae14 2022-07-13T15:01:55 Fix `Cocoa_GetWindowDisplayIndex` failing and causing a catastrophic crash With the introduction of this function, it is possible that for certain monitor and window configurations, creating an SDL window will cause a native crash. ``` Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000050 Exception Codes: 0x0000000000000001, 0x0000000000000050 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [56627] VM Region Info: 0x50 is not in any region. Bytes before following region: 140737486737328 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> VM_ALLOCATE 7fffffe75000-7fffffe76000 [ 4K] r-x/r-x SM=ALI Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libSDL2.dylib 0x10247f665 SDL_UpdateFullscreenMode + 357 1 libSDL2.dylib 0x10247ec70 SDL_CreateWindow_REAL + 1504 2 ??? 0x111262de8 ??? 3 ??? 0x110c39fff ??? 4 libcoreclr.dylib 0x101fdf2a9 CallDescrWorkerInternal + 124 ``` Tracking thread from our end: https://github.com/ppy/osu-framework/issues/5190 Regressed with: https://github.com/libsdl-org/SDL/pull/5573 In testing, the window would not find a valid screen if created "hanging" off a primary display with a secondary display below it. In checking why this was the case, the `display_centre` was being calculated with a negative y origin, causing a final negative value falling outside all display bounds: ``` SDL error log [debug]: display_centre.y = -1296 + 1296 / 2 SDL error log [debug]: Display rect 0: 0 0 2560 1440 SDL error log [debug]: Display rect 1: 2560 -625 1080 2560 SDL error log [debug]: Display rect 2: 0 1440 1728 1296 ``` The method that was being used to find the current window using the frame origin/size seems unreliable, so I have opted to replace it with with a tried method (https://stackoverflow.com/a/40891902). Initial testing shows that this works with non-standard DPI screens, but further testing would be appreciated (cc @sezero / @misl6 from the original PR thread).
Sebastian Krzyszkowiak 041666e6 2022-07-24T05:45:59 video: wayland: Don't switch to libdecor path for borderless windows We actually request CSD mode with xdg-decoration for borderless windows, so we get what we wanted there and there's no point in going into fallback paths.
Sebastian Krzyszkowiak 405d1f65 2022-07-24T10:16:20 video: wayland: Roundtrip after falling back to libdecor in xdg-decoration handler Otherwise libdecor doesn't have a chance to acquire xdg-toplevel after libdecor_new before we attempt to use it in Wayland_ShowWindow. Fixes #5952
Anonymous Maarten fc2497b1 2022-07-23T18:05:35 Revert "cmake: don't add -mwindows to link flags in sdl2.pc" This reverts commit d211aaddc1edaad0e7d461d6837f3f1d2f9f4b41.
Anonymous Maarten 2fdedd17 2022-07-23T17:29:08 Revert 6fa7d62 and 856c99e5
Anonymous Maarten 856c99e5 2022-07-23T15:51:21 android: target android-19 by default when building with build-scripts/androidbuildlibs.sh
Anonymous Maarten 832754b9 2022-07-23T15:43:06 ci: install SDL when built as a subproject
Anonymous Maarten 6fa7d624 2022-07-23T15:31:35 ci: use android-ndk r25 (LTS) on CI
Anonymous Maarten d211aadd 2022-07-23T15:29:39 cmake: don't add -mwindows to link flags in sdl2.pc
Anonymous Maarten d63a699e 2022-07-23T15:29:13 cmake: by default, disable install target when building SDL as a subproject
Ozkan Sezer 8c51cae7 2022-07-23T14:56:04 audio/aaudio, audio/openslES: fix -Wdeclaration-after-statement errors Fixes https://github.com/libsdl-org/SDL/issues/5950
slime 65647b34 2022-07-22T22:07:52 SDL_Render: use high precision texcoords in ES2 shaders, when possible Fixes #5884
Sam Lantinga f9beef76 2022-07-22T18:58:29 Added support for the Nintendo Switch Joy-Con Controllers on iOS and tvOS 16
Sam Lantinga aad7ef6e 2022-07-22T10:58:34 Added support for the Nintendo Switch Pro Controller on iOS and tvOS 16
Sam Lantinga 59963473 2022-07-22T10:58:32 Enable bitcode by default for iOS and tvOS builds
Sam Lantinga 20f51b1f 2022-07-22T10:58:29 Fixed crash if debug text wasn't drawn during a session
Ozkan Sezer 8cd515c3 2022-07-22T20:37:28 better wording.
Frank Praznik 41b89aec 2022-07-22T12:23:44 video: Improve the SDL_WINDOW_ALLOW_HIGHDPI flag documentation Extend the SDL_WINDOW_ALLOW_HIGHDPI flag documentation to stress the importance of querying the window drawable size after every window event to avoid rendering issues in a mixed-DPI environment.
Ivan Epifanov 0a164163 2022-07-21T20:30:33 VIta: enable arm neon/simd optimisations
Anonymous Maarten e5698d13 2022-07-21T18:38:12 cmake: allow cmake re-configuration after installation of x11 library check_include_path is not meant to be used to check for presence of a library. This is because a BOOL is cached. Avoid this caching by using find_file. `find_file` caches a patch instead of a bool and will always run when the result failed.