Mesa's eglGetDisplay() chooses the native EGL platform from
EGL_PLATFORM, limited autodetection, or the build-time default. If that
selects Wayland while SDL is using the X11 video backend, Mesa can treat
the X11 Display pointer as a wl_display and crash during
eglInitialize().
See: https://gitlab.com/qemu-project/qemu/-/work_items/3540
Update DirectFB_CreateRenderer() to use the current SDL_RenderDriver
API.
Signed-off-by: Mark Jonas <toertel@gmail.com>
(cherry picked from commit 1df9ae4338)
All locked front buffers must be released prior to destroying
the EGL surface to avoid causing a UAF in libnvidia-egl-gbm.so.
(cherry picked from commit 9cc2f248f5)
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)
(cherry picked from commit 649c36c576)
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)
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)
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)
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)
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.
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.
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