Module: wine Branch: master Commit: cf9d3e3a0030b952f487549ae0429c85c6daf4df URL: http://source.winehq.org/git/wine.git/?a=commit;h=cf9d3e3a0030b952f487549ae0...
Author: Alexandre Julliard julliard@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 ); }