Deactivate active window in ShowWindow(,SW_HIDE).
This commit is contained in:
parent
6394a15314
commit
fb99124f94
|
@ -2939,6 +2939,7 @@ static void test_messages(void)
|
||||||
SetWindowPos(hwnd, 0,0,0,0,0, SWP_HIDEWINDOW|SWP_NOSIZE|SWP_NOMOVE);
|
SetWindowPos(hwnd, 0,0,0,0,0, SWP_HIDEWINDOW|SWP_NOSIZE|SWP_NOMOVE);
|
||||||
ok_sequence(WmSWP_HideOverlappedSeq, "SetWindowPos:SWP_HIDEWINDOW:overlapped", FALSE);
|
ok_sequence(WmSWP_HideOverlappedSeq, "SetWindowPos:SWP_HIDEWINDOW:overlapped", FALSE);
|
||||||
ok(!IsWindowVisible(hwnd), "window should not be visible at this point\n");
|
ok(!IsWindowVisible(hwnd), "window should not be visible at this point\n");
|
||||||
|
ok(GetActiveWindow() == hwnd, "window should still be active\n");
|
||||||
|
|
||||||
/* test WM_SETREDRAW on a visible top level window */
|
/* test WM_SETREDRAW on a visible top level window */
|
||||||
ShowWindow(hwnd, SW_SHOW);
|
ShowWindow(hwnd, SW_SHOW);
|
||||||
|
|
|
@ -934,7 +934,9 @@ BOOL X11DRV_ShowWindow( HWND hwnd, INT cmd )
|
||||||
case SW_HIDE:
|
case SW_HIDE:
|
||||||
if (!wasVisible) return FALSE;
|
if (!wasVisible) return FALSE;
|
||||||
showFlag = FALSE;
|
showFlag = FALSE;
|
||||||
swp |= SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER;
|
swp |= SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOMOVE;
|
||||||
|
if (hwnd != GetActiveWindow())
|
||||||
|
swp |= SWP_NOACTIVATE | SWP_NOZORDER;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SW_SHOWMINNOACTIVE:
|
case SW_SHOWMINNOACTIVE:
|
||||||
|
|
Loading…
Reference in New Issue