From ba1a980535ff693e7f82c6d4389d1ab6e45943bc Mon Sep 17 00:00:00 2001 From: Frank Praznik Date: Mon, 6 Jan 2025 17:07:16 -0500 Subject: [PATCH] wayland: Only apply the toplevel bounds when initially mapping the window The size shouldn't be clamped to the bounds after the window is mapped, or an explicitly requested user size may be overwritten. --- src/video/wayland/SDL_waylandwindow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c index 33e15724a5..056a8bd50e 100644 --- a/src/video/wayland/SDL_waylandwindow.c +++ b/src/video/wayland/SDL_waylandwindow.c @@ -835,7 +835,8 @@ static void handle_configure_xdg_toplevel(void *data, height = window->floating.h; // Clamp the window to the toplevel bounds, if any are set. - if (wind->toplevel_bounds.width && wind->toplevel_bounds.height) { + if (wind->shell_surface_status == WAYLAND_SHELL_SURFACE_STATUS_WAITING_FOR_CONFIGURE && + wind->toplevel_bounds.width && wind->toplevel_bounds.height) { width = SDL_min(wind->toplevel_bounds.width, width); height = SDL_min(wind->toplevel_bounds.height, height); }