Alexandre Julliard : winex11: Don' t update the normal size hints when a window is minimized or maximized.

Alexandre Julliard julliard at winehq.org
Fri Apr 4 06:21:50 CDT 2008


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Apr  4 11:28:30 2008 +0200

winex11: Don't update the normal size hints when a window is minimized or maximized.

---

 dlls/winex11.drv/window.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 2953337..e035041 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -800,10 +800,11 @@ static void set_size_hints( Display *display, struct x11drv_win_data *data, DWOR
 {
     XSizeHints* size_hints;
 
-    if ((size_hints = XAllocSizeHints()))
-    {
-        size_hints->flags = 0;
+    if (!(size_hints = XAllocSizeHints())) return;
 
+    /* don't update size hints if window is not in normal state */
+    if (!(style & (WS_MINIMIZE | WS_MAXIMIZE)))
+    {
         if (data->hwnd != GetDesktopWindow())  /* don't force position of desktop */
         {
             size_hints->win_gravity = StaticGravity;
@@ -820,9 +821,9 @@ static void set_size_hints( Display *display, struct x11drv_win_data *data, DWOR
             size_hints->min_height = size_hints->max_height;
             size_hints->flags |= PMinSize | PMaxSize;
         }
-        XSetWMNormalHints( display, data->whole_window, size_hints );
-        XFree( size_hints );
     }
+    XSetWMNormalHints( display, data->whole_window, size_hints );
+    XFree( size_hints );
 }
 
 




More information about the wine-cvs mailing list