Commit graph

2874 commits

Author SHA1 Message Date
Sam Lantinga
522ff67cc8 Updated copyright for 2026 2026-01-01 09:56:59 -08:00
Peppersawce
f21394381b Make BUrl not 'ambiguous'
(cherry picked from commit bacfd3c252)
2025-12-10 08:32:55 -08:00
PulkoMandy
843345a18c 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.

(cherry picked from commit 47312cf0f3)
2025-12-10 08:32:55 -08:00
Cameron Gutman
667e4e9020 egl: Fix X11 EGL window creation on Nvidia
This is a port of 808a3f5 to SDL2.

Fixes #13094

(cherry picked from commit 3146374e4a)
2025-12-05 23:20:45 -06:00
Joshua Root
18c96e27d2
Guard use of @available in SDL_cocoaevents.m
Older compilers don't understand this syntax.

(cherry picked from commit eb974470ec)
2025-12-03 10:04:26 -05:00
yuanhecai
1acc405bd4 loongarch: add SDL_FillRect4LSX opt
(cherry picked from commit 14eebdab3c)
2025-11-06 07:29:07 -08:00
yuanhecai
a07b00ccb0 loongarch: add BlitRGBtoRGBPixelAlphaLSX opt
(cherry picked from commit 686c18026b)
2025-11-06 07:29:07 -08:00
Ozkan Sezer
c0d0b31d1c SDL_kmsdrmvideo.c: fix build in C90 mode
(cherry picked from commit 00d4f1c2c4)
2025-10-26 04:35:40 +03:00
Sam Lantinga
80cbc908a1 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)
(cherry picked from commit 1c19bee000)
2025-10-25 13:52:34 -07:00
Frank Praznik
735d8a2dc8
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.

(cherry picked from commit 235e4870af)
2025-10-09 11:29:12 -04:00
Sam Lantinga
ecc71c02ea Only use a transparent cursor on Windows when connected via RDP
VMware relies on the cursor being set to NULL to optimize relative mouse motion for games.

We should also revisit whether current RDP works better with a NULL cursor or a transparent cursor.

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

(cherry picked from commit dac6af4ba6)
(cherry picked from commit 55b599d693)
2025-09-14 17:32:38 -07:00
Frank Praznik
2a10b8c4e7 wayland: Add a sigtimedwait() implementation for OpenBSD
sigtimedwait() is an optional part of POSIX.1-2001, and OpenBSD doesn't implement it. Add a replacement implementation based on https://comp.unix.programmer.narkive.com/rEDH0sPT/sigtimedwait-implementation

(backported from commit 1049426a76)
(cherry picked from commit d31d98d436)
2025-08-30 15:47:00 +03:00
Dan Andrus
f8119d4760 Check NSWindow::isVisible before sending SDL_WINDOWEVENT_RESTORED during Cocoa_WindowListener::windowDidResize
(cherry picked from commit e610529e84)
2025-07-28 11:59:06 -07:00
Ryan C. Gordon
7f371c7808 cocoa: Patched to compile.
(cherry picked from commit b537380065)
2025-07-11 09:56:20 -07:00
Ryan C. Gordon
d98087a0c3 cocoa: Don't use trick of briefly focusing the Dock on newer macOS releases.
On newer systems, the trick isn't necessary, and if you do it, if the user is
moving the mouse when launching the app, it'll show a hidden Dock.

Fixes #10340.

(manually backported from SDL3 from commit 279dabfc96)

(cherry picked from commit b2c3e6fade)
2025-07-11 09:56:20 -07:00
Sam Lantinga
4177e06c09 Fixed rare crash trying to interrupt SDL_WaitEvent()
Fixes https://github.com/libsdl-org/SDL/issues/12797

(cherry picked from commit 992e4c59bd)
(cherry picked from commit 33eb167da8)
2025-05-19 14:24:41 -07:00
Sam Clegg
dc69988fdf [emscripten] Remove reference to Module['createContext']
Backported from https://github.com/libsdl-org/SDL/pull/12970

(cherry picked from commit c0f78dee5e)
2025-05-06 14:46:53 -07:00
Deve
934d6954e2 Fixed crash when trying to disconnect secondary display on iOS 2025-01-29 14:45:49 -08:00
Ozkan Sezer
ab8bd0ef86 fix emscripten builds 2025-01-16 18:50:00 +03:00
Sam Lantinga
9f25821ffd Fixed detection of function keys on Emscripten
Fixes https://github.com/libsdl-org/SDL/issues/11973

(cherry picked from commit 67382e9c83)
2025-01-16 07:32:38 -08:00
CasualPokePlayer
780ec8fac0 Set EGL surface for foreign X11 windows
Also slightly changes up the cleanup code for SetupWindowData, to avoid copy pasting.

See #10611
2025-01-16 10:20:25 -05:00
Frank Praznik
0efeb82a28
wayland: Only apply the toplevel bounds to resizable windows 2025-01-06 17:20:10 -05:00
Frank Praznik
e5a3fcd071 wayland: Apply toplevel bounds to windows
Apply the supplied xdg-toplevel bounds to resizable windows during initial mapping. Libdecor functionality will have to be added separately, as the functionality needs to be added to the library first.
2025-01-06 17:13:16 -05:00
Daniel Tang
db2997548c
Let SDL_IM_MODULE=fcitx override Wayland as a workaround to fix key repetition detection (#11859) 2025-01-05 14:34:30 -08:00
Joshua Root
d58f026827 windowWillStartLiveResize: legacy OS compatibility fix 2025-01-02 14:16:33 -08:00
Joshua Root
ed0eb7714a showAlert: legacy OS compatibility fix 2025-01-02 14:16:33 -08:00
Sam Lantinga
adb51845af Fixed N3DS_TOUCH_ID, 0 is an invalid touch ID 2025-01-01 09:06:23 -08:00
Sam Lantinga
5a25183b39 Revert "Backed out Vita touch ID change for SDL2"
This reverts commit a326ebce61.

It turns out that 0 is an invalid touch ID for SDL2, per the documentation for SDL_GetTouchDevice()
2025-01-01 09:03:24 -08:00
Sam Lantinga
a326ebce61 Backed out Vita touch ID change for SDL2
0 is still a valid touch ID in SDL2 and shouldn't be changed at this point
2025-01-01 08:24:31 -08:00
Sam Lantinga
2b5b8fdbd5 Updated copyright for 2025 2025-01-01 07:47:53 -08:00
Sam Lantinga
884c8b684a Allow rendering during the modal resize loop on macOS
Fixes https://github.com/libsdl-org/SDL/issues/11508

(cherry picked from commit 9a43c08146)
2024-12-23 11:55:49 -08:00
Sam Lantinga
974098464f Enable high refresh rates on iOS
Fixes https://github.com/libsdl-org/SDL/issues/7518

(cherry picked from commit 835b6e0c1a)
2024-12-18 14:43:33 -08:00
Frank Praznik
91bb1bb6fd
wayland: Check the returned display value for null
In reality, this condition will never occur, since the index is checked before calling the display retrieval function, but aggressive LTO with jump threading can generate a warning if this isn't explicitly checked.
2024-12-03 11:53:14 -05:00
Sam Lantinga
e539135104 Fixed potential buffer overflow
(cherry picked from commit 6aab5a089d)
2024-12-03 08:34:34 -08:00
Ivan Epifanov
6428cee892 Vita: implement mousewheel and buttons 4/5 2024-11-27 08:23:40 -08:00
Peter Seiderer
b64540dd66 DirectFB: fix DirectFB_SetTextureScaleMode() declaration
Fixes:

  src/video/directfb/SDL_DirectFB_render.c: In function ‘DirectFB_CreateRenderer’:
  src/video/directfb/SDL_DirectFB_render.c:1153:35: error: assignment to ‘void (*)(SDL_Renderer *, SDL_Texture *, SDL_ScaleMode)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   1153 |     renderer->SetTextureScaleMode = DirectFB_SetTextureScaleMode;
        |                                   ^

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Notes:
  - declaration was just recently changed by commit 'Fix warning for Android
    NDK compiler: "function declaration without a prototype is deprecated in
    all versions of C [-Wstrict-prototypes]"', see
    ccade50587
2024-11-27 08:21:10 -08:00
Sam Lantinga
a5da9be5e6 Fixed build 2024-11-24 17:54:55 -08:00
Starbuck5
9f07ac8bba Speed up full-surface fills
(cherry picked from commit 7a3f5ef129)
2024-11-24 17:45:24 -08:00
jimtahu
d1af211010 Always Use Next Display Index
WIN_AddDisplay asserted that the returned index is the expected next
one in the list. This can be an unexpected number when displays are
add and removed in a batch (eg, Remote Desktop disconnect and reconnect).
Instead always just make use of the next index, even if it is not the
expected next index value. This fixes issue #9105

(cherry picked from commit bee8874629)
2024-11-15 14:35:55 -08:00
rsn8887
6dcf75710c SDL_vitatouch.c: re-enable front touch on Vita 2024-11-15 10:13:35 -08:00
Ryan C. Gordon
e5348c611d
cocoa: Patched to compile. 2024-10-24 23:59:12 -04:00
Ryan C. Gordon
5cb87ff99f
cocoa: Make sure GL context destruction happens on the main thread.
Fixes #10900.

(cherry picked from commit 344546b4ea)
2024-10-24 23:48:58 -04:00
Ryan C. Gordon
00f15dd215
emscripten: scale mousewheel X coordinates correctly, not just Y coordinates.
Fixes #10454.

(cherry picked from commit 4ea26a7771)
2024-10-23 23:39:40 -04:00
Cameron Cawley
23d456e146 3DS: Support simple message boxes 2024-10-12 16:07:34 -07:00
Cameron Cawley
084dbb6410 Allow for more fine tuning of Duff's device routines 2024-10-12 16:06:54 -07:00
Cameron Cawley
90f792f83c Reduce the size of the SDL_blit_0 alpha code 2024-10-12 16:06:54 -07:00
Guldoman
5fe010270a x11: Set correct clipboard target type in SelectionRequest handling 2024-10-09 07:31:43 -07:00
Sam Clegg
3deb07ea39 [emscripten] Fixes for data addresses above 2gb
This includes both wasm64 and wasm32 when addressing more than 2gb of
memory.

Fixes: #9052
2024-10-08 16:35:58 -04:00
Frank Praznik
a86f8dedb9 wayland: Add support for setting window icons via the xdg-toplevel-icon-v1 protocol 2024-10-07 14:24:33 -04:00
Frank Praznik
ea77d1d385 wayland: Factor out the general SHM buffer allocation/free functions from the cursor code 2024-10-07 14:24:33 -04:00