From: Alexandros Frantzis <alexandros.frantzis(a)collabora.com> Explicitly set the visible window rectangle to the whole window rectangle in WindowPosChanging, and use the visible rectangle as the basis for the window surface size. --- dlls/winewayland.drv/window.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/winewayland.drv/window.c b/dlls/winewayland.drv/window.c index 23f4c89ea0b..140228b9ead 100644 --- a/dlls/winewayland.drv/window.c +++ b/dlls/winewayland.drv/window.c @@ -270,6 +270,9 @@ BOOL WAYLAND_WindowPosChanging(HWND hwnd, HWND insert_after, UINT swp_flags, if (!data && !(data = wayland_win_data_create(hwnd))) return TRUE; + /* Use the whole window rectangle. */ + *visible_rect = *window_rect; + /* Release the dummy surface wine provides for toplevels. */ if (*surface) window_surface_release(*surface); *surface = NULL; @@ -282,7 +285,7 @@ BOOL WAYLAND_WindowPosChanging(HWND hwnd, HWND insert_after, UINT swp_flags, /* Check if we don't want a dedicated window surface. */ if ((parent && parent != NtUserGetDesktopWindow()) || !visible) goto done; - surface_rect = *window_rect; + surface_rect = *visible_rect; OffsetRect(&surface_rect, -surface_rect.left, -surface_rect.top); /* Check if we can reuse our current window surface. */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4014