- Remove code that breaks API SetActiveWindow tests. See CORE-7447.
- Dedicated to Victor Martinez Calvo.

svn path=/trunk/; revision=64730
This commit is contained in:
James Tabor 2014-10-13 17:15:04 +00:00
parent 63dff05e61
commit e9aecdf259

View file

@ -1544,22 +1544,17 @@ WinPosFixupFlags(WINDOWPOS *WinPos, PWND Wnd)
WinPos->flags |= SWP_NOMOVE; WinPos->flags |= SWP_NOMOVE;
} }
if (WinPos->hwnd == UserGetForegroundWindow()) if (WinPos->hwnd != UserGetForegroundWindow() && (Wnd->style & (WS_POPUP | WS_CHILD)) != WS_CHILD)
{ {
WinPos->flags |= SWP_NOACTIVATE; /* Already active */ /* Bring to the top when activating */
} if (!(WinPos->flags & (SWP_NOACTIVATE|SWP_HIDEWINDOW)) &&
else (WinPos->flags & SWP_NOZORDER ||
if ((Wnd->style & (WS_POPUP | WS_CHILD)) != WS_CHILD) (WinPos->hwndInsertAfter != HWND_TOPMOST && WinPos->hwndInsertAfter != HWND_NOTOPMOST)))
{ {
/* Bring to the top when activating */ WinPos->flags &= ~SWP_NOZORDER;
if (!(WinPos->flags & (SWP_NOACTIVATE|SWP_HIDEWINDOW)) && WinPos->hwndInsertAfter = (0 != (Wnd->ExStyle & WS_EX_TOPMOST) ? HWND_TOPMOST : HWND_TOP);
(WinPos->flags & SWP_NOZORDER ||
(WinPos->hwndInsertAfter != HWND_TOPMOST && WinPos->hwndInsertAfter != HWND_NOTOPMOST)))
{
WinPos->flags &= ~SWP_NOZORDER;
WinPos->hwndInsertAfter = (0 != (Wnd->ExStyle & WS_EX_TOPMOST) ? HWND_TOPMOST : HWND_TOP);
}
} }
}
/* Check hwndInsertAfter */ /* Check hwndInsertAfter */
if (!(WinPos->flags & SWP_NOZORDER)) if (!(WinPos->flags & SWP_NOZORDER))