An application I'm working on routes messages to a worker thread, and checking for an active window while processing WM_SYSCOMMAND in that thread breaks things.
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/user32/nonclient.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/nonclient.c b/dlls/user32/nonclient.c index 02e6ad92320..b47616bb639 100644 --- a/dlls/user32/nonclient.c +++ b/dlls/user32/nonclient.c @@ -1560,19 +1560,18 @@ LRESULT NC_HandleSysCommand( HWND hwnd, WPARAM wParam, LPARAM lParam ) break;
case SC_MINIMIZE: - if (hwnd == GetActiveWindow()) - ShowOwnedPopups(hwnd,FALSE); + ShowOwnedPopups(hwnd,FALSE); ShowWindow( hwnd, SW_MINIMIZE ); break;
case SC_MAXIMIZE: - if (IsIconic(hwnd) && hwnd == GetActiveWindow()) + if (IsIconic(hwnd)) ShowOwnedPopups(hwnd,TRUE); ShowWindow( hwnd, SW_MAXIMIZE ); break;
case SC_RESTORE: - if (IsIconic(hwnd) && hwnd == GetActiveWindow()) + if (IsIconic(hwnd)) ShowOwnedPopups(hwnd,TRUE); ShowWindow( hwnd, SW_RESTORE ); break;