[Win32k]
authorJames Tabor <james.tabor@reactos.org>
Mon, 13 Oct 2014 17:15:04 +0000 (17:15 +0000)
committerJames Tabor <james.tabor@reactos.org>
Mon, 13 Oct 2014 17:15:04 +0000 (17:15 +0000)
- 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

index b434317..6a06b8f 100644 (file)
@@ -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))