[WIN32K/NTUSER]
authorDavid Quintana <gigaherz@gmail.com>
Thu, 15 May 2014 18:07:41 +0000 (18:07 +0000)
committerDavid Quintana <gigaherz@gmail.com>
Thu, 15 May 2014 18:07:41 +0000 (18:07 +0000)
* Apply the same filter to HSHELL_WINDOWACTIVATED, that I used for _WINDOWCREATED.

svn path=/branches/shell-experiments/; revision=63306

win32ss/user/ntuser/focus.c

index bf1a32d..badaab9 100644 (file)
@@ -239,11 +239,18 @@ co_IntSendActivateMessages(PWND WindowPrev, PWND Window, BOOL MouseActivate, BOO
                                MAKEWPARAM(MouseActivate ? WA_CLICKACTIVE : WA_ACTIVE, Window->style & WS_MINIMIZE),
                               (LPARAM)(WindowPrev ? UserHMGetHandle(WindowPrev) : 0));
 
-      if (!Window->spwndOwner && !IntGetParent(Window))
+      if (Window->spwndParent == UserGetDesktopWindow() &&
+          Window->spwndOwner == NULL &&
+          !(Window->ExStyle & WS_EX_TOOLWINDOW) ||
+          (Window->ExStyle & WS_EX_APPWINDOW))
       {
          // FIXME lParam; The value is TRUE if the window is in full-screen mode, or FALSE otherwise.
          co_IntShellHookNotify(HSHELL_WINDOWACTIVATED, (WPARAM) UserHMGetHandle(Window), FALSE);
       }
+      else
+      {
+          co_IntShellHookNotify(HSHELL_WINDOWACTIVATED, 0, FALSE);
+      }
 
       Window->state &= ~WNDS_NONCPAINT;