diff --git a/win32ss/user/ntuser/focus.c b/win32ss/user/ntuser/focus.c index 5e2ea74b7bb..ccc20dfb656 100644 --- a/win32ss/user/ntuser/focus.c +++ b/win32ss/user/ntuser/focus.c @@ -52,7 +52,6 @@ VOID FASTCALL UpdateShellHook(PWND Window) { if ( Window->spwndParent == UserGetDesktopWindow() && - Window->spwndOwner == NULL && (!(Window->ExStyle & WS_EX_TOOLWINDOW) || (Window->ExStyle & WS_EX_APPWINDOW))) { @@ -511,7 +510,8 @@ co_IntSendActivateMessages(PWND WindowPrev, PWND Window, BOOL MouseActivate, BOO MAKEWPARAM(MouseActivate ? WA_CLICKACTIVE : WA_ACTIVE, (Window->style & WS_MINIMIZE) != 0), (LPARAM)(WindowPrev ? UserHMGetHandle(WindowPrev) : 0)); - UpdateShellHook(Window); + if (Window->style & WS_VISIBLE) + UpdateShellHook(Window); Window->state &= ~WNDS_NONCPAINT; diff --git a/win32ss/user/ntuser/winpos.c b/win32ss/user/ntuser/winpos.c index 23578de9bfb..ac7e0059941 100644 --- a/win32ss/user/ntuser/winpos.c +++ b/win32ss/user/ntuser/winpos.c @@ -1694,7 +1694,7 @@ co_WinPosSetWindowPos( ASSERT_REFS_CO(Window); - TRACE("pwnd %p, after %p, %d,%d (%dx%d), flags %s", + TRACE("pwnd %p, after %p, %d,%d (%dx%d), flags 0x%x", Window, WndInsertAfter, x, y, cx, cy, flags); #if DBG dump_winpos_flags(flags); @@ -1856,7 +1856,11 @@ co_WinPosSetWindowPos( Window->spwndOwner == NULL && (!(Window->ExStyle & WS_EX_TOOLWINDOW) || (Window->ExStyle & WS_EX_APPWINDOW))) - co_IntShellHookNotify(HSHELL_WINDOWCREATED, (WPARAM)Window->head.h, 0); + { + co_IntShellHookNotify(HSHELL_WINDOWCREATED, (WPARAM)Window->head.h, 0); + if (!(WinPos.flags & SWP_NOACTIVATE)) + UpdateShellHook(Window); + } Window->style |= WS_VISIBLE; //IntSetStyle( Window, WS_VISIBLE, 0 ); Window->head.pti->cVisWindows++;