浏览代码

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.
Frank Praznik 8 月之前
父节点
当前提交
ba1a980535
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      src/video/wayland/SDL_waylandwindow.c

+ 2 - 1
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);
                     }