From 41039b44ac12a1a95c7a81395dc88375e20921a6 Mon Sep 17 00:00:00 2001
From: Frank Praznik <[EMAIL REDACTED]>
Date: Tue, 21 Oct 2025 11:49:17 -0400
Subject: [PATCH] wayland: Ensure that the main queue is dispatched when
showing a libdecor window
There is no guarantee that libdecor will always dispatch the main queue (a future plugin may run on its own queue), so ensure that the main queue is still dispatched when showing a libdecor window, as is already the case when pumping events.
---
src/video/wayland/SDL_waylandwindow.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c
index ee30e62328dbc..c400760a46008 100644
--- a/src/video/wayland/SDL_waylandwindow.c
+++ b/src/video/wayland/SDL_waylandwindow.c
@@ -2028,6 +2028,7 @@ void Wayland_ShowWindow(SDL_VideoDevice *_this, SDL_Window *window)
if (data->shell_surface.libdecor.frame) {
while (data->shell_surface_status == WAYLAND_SHELL_SURFACE_STATUS_WAITING_FOR_CONFIGURE) {
libdecor_dispatch(c->shell.libdecor, -1);
+ WAYLAND_wl_display_dispatch_pending(c->display);
}
}
} else