Index: dlls/user32/winpos.c =================================================================== RCS file: /home/wine/wine/dlls/user32/winpos.c,v retrieving revision 1.27 diff -u -p -u -r1.27 winpos.c --- dlls/user32/winpos.c 11 Apr 2008 11:30:24 -0000 1.27 +++ dlls/user32/winpos.c 18 Apr 2008 17:31:24 -0000 @@ -983,6 +983,11 @@ static BOOL show_window( HWND hwnd, INT break; case SW_SHOWMINNOACTIVE: + swp |= SWP_NOACTIVATE | SWP_NOZORDER | SWP_SHOWWINDOW; + swp |= WINPOS_MinMaximize( hwnd, cmd, &newPos ); + if ((style & WS_MINIMIZE) && wasVisible) return TRUE; + break; + case SW_MINIMIZE: case SW_FORCEMINIMIZE: /* FIXME: Does not work if thread is hung. */ swp |= SWP_NOACTIVATE | SWP_NOZORDER; @@ -1034,7 +1039,7 @@ static BOOL show_window( HWND hwnd, INT return wasVisible; } - if ((showFlag != wasVisible || cmd == SW_SHOWNA) && cmd != SW_SHOWMAXIMIZED && !(swp & SWP_STATECHANGED)) + if ((showFlag != wasVisible || cmd == SW_SHOWNA) && cmd != SW_SHOWMAXIMIZED && !(swp & SWP_STATECHANGED) && cmd != SW_SHOWMINNOACTIVE) { SendMessageW( hwnd, WM_SHOWWINDOW, showFlag, 0 ); if (!IsWindow( hwnd )) return wasVisible; Index: dlls/user32/tests/msg.c =================================================================== RCS file: /home/wine/wine/dlls/user32/tests/msg.c,v retrieving revision 1.69 diff -u -p -u -r1.69 msg.c --- dlls/user32/tests/msg.c 7 Apr 2008 11:52:17 -0000 1.69 +++ dlls/user32/tests/msg.c 18 Apr 2008 17:38:56 -0000 @@ -9446,7 +9562,7 @@ static void test_ShowWindow(void) /* 19 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinimize_1, FALSE }, /* 20 */ { SW_MINIMIZE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinMax_3, FALSE }, /* 21 */ { SW_HIDE, TRUE, WS_MINIMIZE, WmHide_2, FALSE }, -/* 22 */ { SW_SHOWMINNOACTIVE, FALSE, WS_VISIBLE|WS_MINIMIZE, WmShowMinNoActivate, TRUE }, +/* 22 */ { SW_SHOWMINNOACTIVE, FALSE, WS_VISIBLE|WS_MINIMIZE, WmShowMinNoActivate, FALSE }, /* 23 */ { SW_SHOWMINNOACTIVE, TRUE, WS_VISIBLE|WS_MINIMIZE, WmMinMax_4, FALSE }, /* 24 */ { SW_HIDE, TRUE, WS_MINIMIZE, WmHide_2, FALSE }, /* 25 */ { SW_HIDE, FALSE, WS_MINIMIZE, WmEmptySeq, FALSE },