Alexandre Julliard : winex11: Only unmap a window when explicitly hidden, not just when WS_VISIBLE is cleared.

Alexandre Julliard julliard at winehq.org
Thu May 1 13:36:16 CDT 2008


Module: wine
Branch: master
Commit: 6b9517a70a18553f588b584826cd9e9b9accfb2a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6b9517a70a18553f588b584826cd9e9b9accfb2a

Author: Alexandre Julliard <julliard at 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 &&




More information about the wine-cvs mailing list