Alexandre Julliard : winex11: Only unmap a window when explicitly hidden, not just when WS_VISIBLE is cleared.
Module: wine Branch: master Commit: 6b9517a70a18553f588b584826cd9e9b9accfb2a URL: http://source.winehq.org/git/wine.git/?a=commit;h=6b9517a70a18553f588b584826... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu May 1 17:45:17 2008 +0200 winex11: Only unmap a window when explicitly hidden, not just when WS_VISIBLE is cleared. --- dlls/winex11.drv/window.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 81aa989..f4eb82e 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -2011,9 +2011,12 @@ void X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, UINT swp_flags, if (event_type != ConfigureNotify && event_type != PropertyNotify) event_type = 0; /* ignore other events */ - if (data->mapped && (!(new_style & WS_VISIBLE) || - (!event_type && !is_window_rect_mapped( rectWindow )))) - unmap_window( display, data ); + if (data->mapped) + { + if (((swp_flags & SWP_HIDEWINDOW) && !(new_style & WS_VISIBLE)) || + (!event_type && !is_window_rect_mapped( rectWindow ))) + unmap_window( display, data ); + } /* don't change position if we are about to minimize or maximize a managed window */ if (!event_type &&
participants (1)
-
Alexandre Julliard