Module: wine Branch: master Commit: bbd32aacff1555df0153deee22ca40de992de007 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bbd32aacff1555df0153deee22...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Apr 23 15:34:07 2008 +0200
winex11: Don't allow changing the X11 size of a maximized window.
---
dlls/winex11.drv/window.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 5dc5ffc..89b7150 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -1157,12 +1157,17 @@ static void sync_window_position( Display *display, struct x11drv_win_data *data { DWORD style = GetWindowLongW( data->hwnd, GWL_STYLE ); XWindowChanges changes; - int mask = CWWidth | CWHeight; + unsigned int mask = 0;
if (data->managed && data->iconic) return;
- if ((changes.width = data->whole_rect.right - data->whole_rect.left) <= 0) changes.width = 1; - if ((changes.height = data->whole_rect.bottom - data->whole_rect.top) <= 0) changes.height = 1; + /* resizing a managed maximized window is not allowed */ + if (!(style & WS_MAXIMIZE) || !data->managed) + { + if ((changes.width = data->whole_rect.right - data->whole_rect.left) <= 0) changes.width = 1; + if ((changes.height = data->whole_rect.bottom - data->whole_rect.top) <= 0) changes.height = 1; + mask |= CWWidth | CWHeight; + }
/* only the size is allowed to change for the desktop window */ if (data->whole_window != root_window)