[PATCH 0/1] MR9679: winewayland: Update client surface position in update callback.
From: Rémi Bernon <rbernon(a)codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57393 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59061 --- dlls/winewayland.drv/wayland_surface.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dlls/winewayland.drv/wayland_surface.c b/dlls/winewayland.drv/wayland_surface.c index 49af34633bc..14171cfb911 100644 --- a/dlls/winewayland.drv/wayland_surface.c +++ b/dlls/winewayland.drv/wayland_surface.c @@ -1018,6 +1018,18 @@ static void wayland_client_surface_detach(struct client_surface *client) static void wayland_client_surface_update(struct client_surface *client) { + struct wayland_client_surface *surface = impl_from_client_surface(client); + HWND hwnd = client->hwnd, toplevel = NtUserGetAncestor(hwnd, GA_ROOT); + struct wayland_win_data *data; + + 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); + + wayland_win_data_release(data); } static void wayland_client_surface_present(struct client_surface *client, HDC hdc) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9679
participants (1)
-
Rémi Bernon