[PATCH 0/1] MR11147: winewayland: Do not detach client surface on update.
This matches winex11 behavior and fixes Splitgate Arena Reloaded. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11147
From: Etaash Mathamsetty <etaash.mathamsetty@gmail.com> --- dlls/winewayland.drv/wayland_surface.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dlls/winewayland.drv/wayland_surface.c b/dlls/winewayland.drv/wayland_surface.c index b8749478c53..3d03ba23c0b 100644 --- a/dlls/winewayland.drv/wayland_surface.c +++ b/dlls/winewayland.drv/wayland_surface.c @@ -1113,10 +1113,8 @@ static void wayland_client_surface_update(struct client_surface *client) if (!(data = wayland_win_data_get(hwnd))) return; - if (toplevel && NtUserIsWindowVisible(hwnd)) - wayland_client_surface_attach(surface, toplevel); - else - wayland_client_surface_attach(surface, NULL); + /* the client surface is not detached by update, only the geometry is updated */ + if (toplevel) wayland_client_surface_attach(surface, toplevel); wayland_win_data_release(data); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11147
It would be nice to understand why this fixes the application, especially if winex11 has a different behavior. I think that if the client window doesn't have any toplevel, or if it's not visible, it should not be visible and therefore shouldn't be attached to the surface. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11147#note_143091
On Mon Jun 15 06:49:59 2026 +0000, Rémi Bernon wrote:
It would be nice to understand why this fixes the application, especially if winex11 has a different behavior. I think that if the client window doesn't have any toplevel, or if it's not visible, it should not be visible and therefore shouldn't be attached to the surface. Perhaps it is an issue with NtUserIsWindowVisible? I will have to debug this game further
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11147#note_143098
participants (3)
-
Etaash Mathamsetty -
Etaash Mathamsetty (@etaash.mathamsetty) -
Rémi Bernon (@rbernon)