[NTUSER] Fix Shell Hook HSHELL_WINDOWCREATED (#3294)

Fix Shell Hook and reduce failures of shell32_apitest ShellHook testcase. Fix the condition of notifying shell hook HSHELL_WINDOWCREATED in ntuser/winpos.c. CORE-17330
This commit is contained in:
Katayama Hirofumi MZ 2020-10-13 16:37:52 +09:00 committed by GitHub
parent 79794b524c
commit 58b0558f94
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1904,18 +1904,13 @@ co_WinPosSetWindowPos(
} }
else if (WinPos.flags & SWP_SHOWWINDOW) else if (WinPos.flags & SWP_SHOWWINDOW)
{ {
if (Window->spwndOwner == NULL || if ((Window->ExStyle & WS_EX_APPWINDOW) ||
!(Window->spwndOwner->style & WS_VISIBLE) || (!(Window->ExStyle & WS_EX_TOOLWINDOW) && !Window->spwndOwner &&
(Window->spwndOwner->ExStyle & WS_EX_TOOLWINDOW)) (!Window->spwndParent || UserIsDesktopWindow(Window->spwndParent))))
{ {
if (UserIsDesktopWindow(Window->spwndParent) && co_IntShellHookNotify(HSHELL_WINDOWCREATED, (WPARAM)Window->head.h, 0);
(!(Window->ExStyle & WS_EX_TOOLWINDOW) || if (!(WinPos.flags & SWP_NOACTIVATE))
(Window->ExStyle & WS_EX_APPWINDOW))) UpdateShellHook(Window);
{
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->style |= WS_VISIBLE; //IntSetStyle( Window, WS_VISIBLE, 0 );