Fix Excel 2007 and 2010 showing small black windows after clicking their taskbar icons when opening multiple documents in one instance.
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com --- dlls/user32/tests/msg.c | 1 - dlls/winex11.drv/event.c | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 3c4cb084d8e..f2a9c2c2f4a 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -18801,7 +18801,6 @@ static void test_taskbar_messages(void) } /* The background window rectangle is (100, 100, 200, 200). If hwnd gets unminimized, it will * end up obscuring the background window. */ - todo_wine_if(color != 0xffffff) ok(color == 0xffffff, "Expected color %#x, got %#x.\n", 0xffffff, color);
ReleaseDC(0, hdc); diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 170111e9c28..0e963f6e399 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -1314,6 +1314,12 @@ static void handle_wm_state_notify( HWND hwnd, XPropertyEvent *event, BOOL updat if ((style & (WS_MINIMIZE | WS_VISIBLE)) == (WS_MINIMIZE | WS_VISIBLE)) SetActiveWindow( hwnd ); SendMessageW( hwnd, WM_SYSCOMMAND, SC_RESTORE, 0 ); + /* The window doesn't want to unminimize, restore iconic state */ + if (GetWindowLongW( data->hwnd, GWL_STYLE ) & WS_MINIMIZE) + { + data->iconic = TRUE; + XIconifyWindow( data->display, data->whole_window, data->vis.screen ); + } return; } TRACE( "not restoring win %p/%lx style %08x\n", data->hwnd, data->whole_window, style );