From: Rémi Bernon rbernon@codeweavers.com
Fixes: b9879d5adc1cd98a6ceb7d087c4533fdd487bedb --- dlls/win32u/window.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c index 8e1ec0370ed..4bb7151660c 100644 --- a/dlls/win32u/window.c +++ b/dlls/win32u/window.c @@ -1844,6 +1844,7 @@ static struct window_surface *create_window_surface( HWND hwnd, UINT swp_flags, RECT *visible_rect, RECT *surface_rect ) { BOOL shaped, needs_surface, create_opaque, is_layered; + HWND parent = NtUserGetAncestor( hwnd, GA_PARENT ); struct window_surface *new_surface; RECT dummy; HRGN shape; @@ -1855,6 +1856,7 @@ static struct window_surface *create_window_surface( HWND hwnd, UINT swp_flags, if (!user_driver->pWindowPosChanging( hwnd, swp_flags, shaped, window_rect, client_rect, visible_rect )) needs_surface = FALSE; else if (swp_flags & SWP_HIDEWINDOW) needs_surface = FALSE; else if (swp_flags & SWP_SHOWWINDOW) needs_surface = TRUE; + else if (parent && parent != NtUserGetDesktopWindow()) needs_surface = FALSE; else needs_surface = !!(NtUserGetWindowLongW( hwnd, GWL_STYLE ) & WS_VISIBLE);
if (!get_surface_rect( visible_rect, surface_rect )) needs_surface = FALSE;