From 4a69797c43166699e7fbe70e6a7de4abd9521af8 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 31 Jul 2008 17:12:16 +0200 Subject: [PATCH] winex11: Also check the maximized when restoring a minimized window. --- dlls/winex11.drv/event.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 94ea16341b3..e431786a985 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) {