Module: wine Branch: master Commit: 4a69797c43166699e7fbe70e6a7de4abd9521af8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a69797c43166699e7fbe70e6a...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Jul 31 17:12:16 2008 +0200
winex11: Also check the maximized when restoring a minimized window.
---
dlls/winex11.drv/event.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 94ea163..e431786 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -932,9 +932,17 @@ static void handle_wm_state_notify( struct x11drv_win_data *data, XPropertyEvent
if (data->iconic && data->wm_state == NormalState) /* restore window */ { - TRACE( "restoring win %p/%lx\n", data->hwnd, data->whole_window ); data->iconic = FALSE; - SendMessageW( data->hwnd, WM_SYSCOMMAND, SC_RESTORE, 0 ); + if (is_net_wm_state_maximized( event->display, data )) + { + TRACE( "restoring to max %p/%lx\n", data->hwnd, data->whole_window ); + SendMessageW( data->hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0 ); + } + else + { + TRACE( "restoring win %p/%lx\n", data->hwnd, data->whole_window ); + SendMessageW( data->hwnd, WM_SYSCOMMAND, SC_RESTORE, 0 ); + } } else if (!data->iconic && data->wm_state == IconicState) {