From ba1a980535ff693e7f82c6d4389d1ab6e45943bc Mon Sep 17 00:00:00 2001
From: Frank Praznik <[EMAIL REDACTED]>
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 33e15724a54ce..056a8bd50e82f 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);
}