[PATCH 0/1] MR11285: winex11: Use the desired state for mapping delays.
This matches the state the host window is supposed to be in, whereas pending_state is the state we have requested yet but which may need further requests. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59932 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11285
From: Rémi Bernon <rbernon@codeweavers.com> This matches the state the host window is supposed to be in, whereas pending_state is the state we have requested yet but which may need further requests. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59932 --- dlls/winex11.drv/window.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 3b964baadef..1324622d102 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -3274,7 +3274,7 @@ void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, HWND owner_hint, UIN debugstr_window_rects(new_rects), new_style, swp_flags ); /* visible windows are only hidden after SWP_HIDEWINDOW is used */ - if (data->pending_state.wm_state != WithdrawnState && !(new_style & WS_VISIBLE) && + if (data->desired_state.wm_state != WithdrawnState && !(new_style & WS_VISIBLE) && !(swp_flags & SWP_HIDEWINDOW)) { WARN( "win %p/%lx not yet hidden, delaying unmapping\n", hwnd, data->whole_window ); @@ -3282,7 +3282,7 @@ void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, HWND owner_hint, UIN } /* layered windows are mapped only once their attributes are set */ - if (data->pending_state.wm_state == WithdrawnState && (new_style & WS_VISIBLE) && + if (data->desired_state.wm_state == WithdrawnState && (new_style & WS_VISIBLE) && (ex_style & WS_EX_LAYERED) && !data->layered && !IsRectEmpty( &new_rects->window )) { WARN( "win %p/%lx is layered, delaying mapping\n", hwnd, data->whole_window ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11285
participants (2)
-
Rémi Bernon -
Rémi Bernon (@rbernon)