From e9aecdf259e49361c1cfb5a9801b9cd1031ccad2 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Mon, 13 Oct 2014 17:15:04 +0000 Subject: [PATCH] [Win32k] - Remove code that breaks API SetActiveWindow tests. See CORE-7447. - Dedicated to Victor Martinez Calvo. svn path=/trunk/; revision=64730 --- reactos/win32ss/user/ntuser/winpos.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/reactos/win32ss/user/ntuser/winpos.c b/reactos/win32ss/user/ntuser/winpos.c index b4343175917..6a06b8f1839 100644 --- a/reactos/win32ss/user/ntuser/winpos.c +++ b/reactos/win32ss/user/ntuser/winpos.c @@ -1544,22 +1544,17 @@ WinPosFixupFlags(WINDOWPOS *WinPos, PWND Wnd) 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 */ - } - else - if ((Wnd->style & (WS_POPUP | WS_CHILD)) != WS_CHILD) + /* Bring to the top when activating */ + if (!(WinPos->flags & (SWP_NOACTIVATE|SWP_HIDEWINDOW)) && + (WinPos->flags & SWP_NOZORDER || + (WinPos->hwndInsertAfter != HWND_TOPMOST && WinPos->hwndInsertAfter != HWND_NOTOPMOST))) { - /* Bring to the top when activating */ - if (!(WinPos->flags & (SWP_NOACTIVATE|SWP_HIDEWINDOW)) && - (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); - } + WinPos->flags &= ~SWP_NOZORDER; + WinPos->hwndInsertAfter = (0 != (Wnd->ExStyle & WS_EX_TOPMOST) ? HWND_TOPMOST : HWND_TOP); } + } /* Check hwndInsertAfter */ if (!(WinPos->flags & SWP_NOZORDER))