Commit graph

2859 commits

Author SHA1 Message Date
Sam Lantinga
33eb167da8 Fixed rare crash trying to interrupt SDL_WaitEvent()
Fixes https://github.com/libsdl-org/SDL/issues/12797

(cherry picked from commit 992e4c59bd)
2025-05-19 14:24:26 -07:00
Sam Clegg
c0f78dee5e [emscripten] Remove reference to Module['createContext']
Backported from https://github.com/libsdl-org/SDL/pull/12970
2025-05-06 14:46:19 -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
Frank Praznik
643437f5b0
Reapply "wayland: Don't initialize OpenGL when the window flags didn't specify it"
This reverts commit 120b8d4189.

The issue this was patching over in Vanilla-Conquer was the lack of an exposure event when showing a window, which has since been remedied.

Attaching EGL window objects can also cause protocol violations now that the explicit sync protocol is in use, if SDL creates one and then the client tries to attach one itself, so they really shouldn't be created unless the client specifically requested it.
2024-10-02 13:50:14 -04:00
Vladimir Serbinenko
1edaad1721 Handle wayland touch cancel message
Suppose host has some three-finger gesture. Then we get the following sequence
of events:
DOWN-DOWN-DOWN-MOTION-CANCEL

Note that there is no UP in this sequence. So if we don't handle CANCEL then
we end up thinking that fingers are still touching the screen. Ideally we
should inform the application that cancel has happened as not to trigger
spurious taps but still this is way better than being stuck with phantom
finger touch.
2024-09-26 13:35:31 -04:00
Sam Lantinga
c9f3cbe02f Don't use BlitARGBto555PixelAlpha() for SDL_PIXELFORMAT_ARGB1555
This didn't properly take into account destination alpha.

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

(cherry picked from commit 1aea43846e)
2024-09-25 21:58:20 -07:00
Cameron Gutman
7eb85b07e0 kmsdrm: Fix one more place that doesn't try to drop master 2024-09-23 18:59:54 -05:00
Cameron Gutman
dab4f856c1 kmsdrm: Keep fd around if we can drop master
Modern kernels (v5.8+) allow non-root usage of drmDropMaster(), so
we can hold on to our fd after dropping master on it. This fixes
populating drm_fd in the KMSDRM SysWMinfo when using Vulkan.

Also add a missing error check for open() while we're here.
2024-09-22 16:36:34 -07:00
Erin Melucci
055ce096f5 Don't call GetMessageTime on Xbox platforms
Fixes a compilation issue due to the GAMES partition of WinAPI not including GetMessageTime
2024-09-20 07:26:38 -07:00
Cameron Gutman
e239295491 wayland: Fix memory leaks 2024-09-18 20:44:26 -04:00
Frank Praznik
8fa99993af wayland: Send exposure events when showing or resizing the window
Clients may rely on this event to signal when they should redraw themselves, so send it when appropriate.
2024-09-10 10:19:48 -04:00
Simon McVittie
54757c29dd x11vulkan: Use the correct SONAME of libX11-xcb.so.1 on Linux, etc.
On most Unix platforms supported by SDL, the canonical name used to load
a library at runtime includes its ABI major version, and the name
without a version is not guaranteed to exist on non-developer systems.
libX11-xcb.so.1 is correct on Linux, and probably on other Unix
platforms like FreeBSD.

A notable exception is OpenBSD, which apparently does not use
ABI-suffixed names, so continue to use libX11-xcb.so there.

Signed-off-by: Simon McVittie <smcv@collabora.com>
(cherry picked from commit 7713a7eec7)
2024-09-09 12:54:02 -07:00
Sam Lantinga
10b4a79379 Make newer DRM and GBM functions optional
Fixes https://github.com/libsdl-org/SDL/issues/10675

(cherry picked from commit d501f6db07)
2024-09-02 11:11:02 -07:00
Francisco Javier Trujillo Mata
1b8d5631ef Allow MessageBox to work without window 2024-08-23 11:50:00 -07:00
Ozkan Sezer
30972d7e7f SDL_x11mouse.c: avoid -Wunused-variable if xinput2 is not available 2024-08-17 11:23:32 +03:00
Frank Praznik
8fcbf972c6 wayland: Send fake warp coordinates when emulating warps with relative mode
Send the fake warp coordinates when emulating warps with relative mode to ensure that it appears that the cursor is always reset to where the application expects it to be.

Fixes cases where games can continue moving the camera if the mouse is lifted during motion.
2024-08-16 11:24:13 -04:00
Frank Praznik
5b57573439 x11: Track cursor visibility internally
Cursor visibility in the SDL input layer only reflects whether ShowCursor/HideCursor was called. In the case of relative mode, the cursor can be hidden, but the SDL_Mouse visibility flag will be true.

Track cursor visibility separately in the X11 driver. Fixes the cursor becoming visible when using the warping relative mode with XWayland.

(cherry picked from commit b0713a7d30)
2024-08-16 10:34:36 -04:00
Sam Lantinga
b360214950 Use drmModeAddFB() if drmModeAddFB2WithModifiers() fails
Fixes https://github.com/libsdl-org/SDL/issues/10276

(cherry picked from commit 8e99ec34bb)
2024-08-15 11:53:02 -07:00