12506 Commits

Author SHA1 Message Date
Tobiasz Laskowski
22a6d76f22 Backport android api 30+ fix for backspace to SDL2 2026-03-03 22:50:31 -08:00
hexnet1234
99ecc409cf Fix Wayland_DestroyWindow SEGFAULT
Check if the wind pointer is NULL, to avoid SEGFAULT.
Already implemented in SDL3, but not yet backported.
2026-02-20 13:04:11 -05:00
Alexandre Derumier
cf5dabd6ea Correct the sensor axis ordering with the Linux Nintendo driver
Fixes https://github.com/libsdl-org/SDL/issues/14552

Manual cherry-pick of 5e9163592f by Sam Lantinga <slouken@libsdl.org>
2026-02-12 11:32:59 -08:00
Wohlstand
c080cc8068 SDL_render_psp.c: Also apply the similar fix to PSP
Since this problem is the same here
2026-02-06 09:01:33 -08:00
Wohlstand
2956d55797 SDL_render_vita_gxm.c: Fixed the black screen due to zero cliprect
#14645
2026-02-06 09:01:33 -08:00
Ozkan Sezer
b1d95b9d20 SDL_cocoawindow.m: fix what seems to be a typo in commit 649c36c5:
NSWindowCollectionBehaviorNone -> NSWindowCollectionBehaviorFullScreenNone
2026-02-06 06:04:40 +03:00
Ryan C. Gordon
649c36c576 cocoa: Fix SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES=0.
This hint is documented to not just turn off fullscreen windows going into a
new Fullscreen Space, but also to make the green button on a resizeable
window's title bar do a maximize/zoom instead of make the window fullscreen.

Previously, this only did the former and not the latter (or perhaps it worked
and the defaults changed in a newer macOS, we aren't sure).

Fixes #7470.

(cherry picked from commit 50f3adec77)
2026-02-05 18:53:41 -05:00
Henrique Jorge Barateli
99eca2ca0d Fixed PS2 joystick analog sticks not enabled 2026-01-30 12:18:31 -08:00
Ozkan Sezer
07274fea58 SDL_bsdjoystick: fix OpenBSD build error due to -Wundef 2026-01-30 01:20:28 +03:00
Brad Smith
0c7042477a cmake: Fix header detection with CheckUSBHID
Make use of check_include_files to be able to also include
stdint.h when checking for the headers. Fixes detection of
usbhid.h on OpenBSD.

/usr/include/usbhid.h:40:2: error: unknown type name 'uint32_t'
   40 |         uint32_t _usage_page;
      |         ^

(cherry picked from commit 410a35fbee)
2026-01-28 07:45:11 -08:00
Wolf3s
f383330cfa Fix the video size matching the renderer. 2026-01-19 10:10:53 -08:00
Brad Smith
de41387c4b autotools: Replace sys/types.h usage with stdint.h with CheckUSBHID 2026-01-18 18:33:01 -08:00
yuanhecai
01dff47fd7 loongarch: Apply mlsx flags only to relevant source files 2026-01-15 10:12:00 -05:00
Ryan C. Gordon
cb0fb8c1a1 haiku: Minor code convention cleanups.
Reference PR #14779.
2026-01-07 14:06:48 -05:00
erysdren
1dda484085 haiku: update modelist logic 2026-01-07 14:00:54 -05:00
erysdren
e14514f484 haiku: fix modelist double-free 2026-01-07 14:00:54 -05:00
Sam Lantinga
f432937f9c Updated copyright for 2026 2026-01-01 09:51:07 -08:00
Simon McVittie
c795b08567 test: Don't expect a specific error message
SDL3 + sdl2-compat doesn't give precisely the same error message as
"classic" SDL2 here. To facilitate the transition from "classic" SDL2
to sdl2-compat, allow either one. This allows the "classic" SDL2 test
suite to be run against sdl2-compat, demonstrating that sdl2-compat is
indeed compatible with the version that it's replacing.

Signed-off-by: Simon McVittie <smcv@debian.org>
2025-12-29 10:05:15 -08:00
Sam Lantinga
13db7f049a Added a Linux mapping for the Nacon GC100 controller (thanks @elkabyliano!)
(cherry picked from commit d10fe8bf2f)
2025-12-29 09:47:29 -08:00
SDL Wiki Bot
3eba0b6f8a Sync SDL2 wiki -> header
[ci skip]
2025-12-14 07:48:57 +00:00
Peppersawce
bacfd3c252 Make BUrl not 'ambiguous' 2025-12-10 12:28:20 +01:00
PulkoMandy
47312cf0f3 Use a BHandler attached to the application instead of a BLooper
When there is already a BApplication, SDL cannot start its own. In a
previous version, it instead started a separate looper. This results in
some extra complexity as there is now yet another thread to manage (in
addition to the main thread, the application thread, and the window
threads).

Instead, create a BHandler and attach it to the existing BApplication,
which allows it to receive messages in the already existing application
thread.
2025-12-10 12:28:20 +01:00
Sam Lantinga
d9836d15e7 Lock joysticks when they are connected/disconnected on emscripten
Fixes https://github.com/libsdl-org/SDL/issues/11499

(cherry picked from commit 0281071243)
2025-12-08 21:00:22 -08:00
Cameron Gutman
3146374e4a egl: Fix X11 EGL window creation on Nvidia
This is a port of 808a3f5 to SDL2.

Fixes #13094
2025-12-05 23:51:56 -05:00
Cameron Gutman
1d852d1c28 quit: don't call signal() if we're using sigaction()
At best, this is a no-op.

At worst, it might:
 - Clobber a signal handler someone registered after us
 - Overwrite the signal mask or flags
 - Cause unregistration to fail (sigaction() isn't guaranteed to return the exact pointer passed to signal())
2025-12-01 18:56:12 -06:00
Sam Lantinga
6ad5a966ea Revert "Use DefWindowProc for the initial SDL window proc"
This reverts commit afeeef9cf5.
2025-11-24 19:06:13 -08:00
Anonymous Maarten
a65111bd2d Add SDL_(Get|Set)ClipRect automation test
Co-authored-by: Sam Lantinga <slouken@libsdl.org>
2025-11-22 10:43:46 +00:00
yuanhecai
c44d37b5cf loongarch: Switch to software render when using LG100 series 2025-11-14 07:14:48 -08:00
Sam Lantinga
f36d683b61 Check for wine_get_version() to detect Wine/Proton
If this application is being run under Wine but Steam doesn't know that, Steam won't set STEAM_COMPAT_PROTON. So we'll use wine_get_version() to detect that we're running under Wine instead.

(cherry picked from commit e2e8f86076)
2025-11-12 23:07:51 -08:00
Sam Lantinga
5bdf7bc625 Don't check SteamVirtualGamepadInfo when running as Wine
Wine will ignore the Steam Virtual Gamepad if it looks like it has the original (blocked) controller VID/PID.

Fixes https://github.com/libsdl-org/SDL/issues/14410

(cherry picked from commit 493bc621e4)
2025-11-12 23:07:51 -08:00
Petar Popovic
38e0094637 Fix uninitialized variable warning when compiling tests with clang compiler 2025-11-07 07:56:26 -08:00
Ozkan Sezer
ba38fda752 Revert "pipewire: disable -Wdeclaration-after-statement for pipewire headers"
This reverts commit f9435eab16.

Issue in pipewire release candidate 1.5.81 has been resolved in 1.5.82

Reference issue: Fixes: https://github.com/libsdl-org/SDL/issues/14343
2025-11-06 19:55:02 +03:00
yuanhecai
14eebdab3c loongarch: add SDL_FillRect4LSX opt 2025-11-06 07:27:56 -08:00
yuanhecai
686c18026b loongarch: add BlitRGBtoRGBPixelAlphaLSX opt 2025-11-06 07:27:56 -08:00
Sam Lantinga
6db23faa44 Clamp the audio drain delay to 100 ms
Fixes https://github.com/libsdl-org/SDL/issues/9829

(cherry picked from commit 0882623092)
2025-11-02 11:20:39 -08:00
Sam Lantinga
6570d9e23f Don't consider USB devices which have already been skipped
Fixes https://github.com/libsdl-org/SDL/issues/14367
2025-11-02 09:25:13 -08:00
Sam Lantinga
2bb0eb4641 Fixed the right touchpad calculation for the BLE Steam Controller
Fixes https://github.com/libsdl-org/SDL/issues/14368

(cherry picked from commit eb87a36940)
2025-11-02 08:34:16 -08:00
Sam Lantinga
afeeef9cf5 Use DefWindowProc for the initial SDL window proc
This makes sure that anything that hooks window creation to set up window proc hooks will call DefWindowProc instead of infinitely recursing when we set up our window proc afterwards.

Fixes https://github.com/libsdl-org/SDL/issues/10529

(cherry picked from commit 6c4f2bd83d)
2025-11-02 07:24:54 -08:00
Petar Popovic
398bacbac3 Fix leak in SDL_GameControllerTypeForIndex() 2025-11-01 08:40:12 -07:00
Ozkan Sezer
f9435eab16 pipewire: disable -Wdeclaration-after-statement for pipewire headers
Fixes: https://github.com/libsdl-org/SDL/issues/14343
2025-11-01 00:45:10 +03:00
Sam Lantinga
66ac6f4ea7 Revert "Remove special-case Xbox 360 wireless controller mappings"
This reverts commit 4151df83fe.
2025-10-27 17:37:43 -07:00
Dave Wickham
4151df83fe Remove special-case Xbox 360 wireless controller mappings
Effectively https://github.com/libsdl-org/SDL/pull/14339 for SDL2
Fixes https://github.com/libsdl-org/SDL/issues/14324
2025-10-27 08:56:00 -07:00
Ozkan Sezer
00d4f1c2c4 SDL_kmsdrmvideo.c: fix build in C90 mode 2025-10-26 04:35:20 +03:00
Sam Lantinga
1c19bee000 Perform full rectangle intersection for empty rects
If we don't do that, we leave the x and y values uninitialized.

Fixes https://github.com/libsdl-org/sdl12-compat/issues/365

(cherry picked from commit ffd0ca4391)
2025-10-25 13:51:58 -07:00
danprice142
639c7a1e52 Sdl2 Add support for launchOnExit URI for WinRT
Implements extraction and launching of a 'launchOnExit' URI parameter from protocol activation in SDL_WinRTApp. The URI is stored and launched on app exit, suspension, or window close, enabling return-to-caller scenarios for protocol-activated apps.
2025-10-25 08:13:45 -07:00
Ozkan Sezer
c9889fb013 updated dynapi after latest api addition 2025-10-24 21:11:50 +03:00
SDL Wiki Bot
1edb3283b0 Sync SDL2 wiki -> header
[ci skip]
2025-10-24 17:35:46 +00:00
danprice142
3e1cebed3c Add protocol activation URI support for WinRT (#14309) 2025-10-24 10:34:44 -07:00
SDL Wiki Bot
66d87bf0e1 Sync SDL2 wiki -> header
[ci skip]
2025-10-13 06:06:49 +00:00
Frank Praznik
235e4870af wayland: Special-case relative warp mode to deliver accelerated relative motion
The Wayland backend lacks pointer warp functionality, so special-case the relative warp mode hint to deliver accelerated relative motion deltas, which is ultimately what the client wants by enabling this hint.
2025-10-09 11:19:27 -04:00