[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)
{
if (Window->spwndOwner == NULL ||
!(Window->spwndOwner->style & WS_VISIBLE) ||
(Window->spwndOwner->ExStyle & WS_EX_TOOLWINDOW))
if ((Window->ExStyle & WS_EX_APPWINDOW) ||
(!(Window->ExStyle & WS_EX_TOOLWINDOW) && !Window->spwndOwner &&
(!Window->spwndParent || UserIsDesktopWindow(Window->spwndParent))))
{
if (UserIsDesktopWindow(Window->spwndParent) &&
(!(Window->ExStyle & WS_EX_TOOLWINDOW) ||
(Window->ExStyle & WS_EX_APPWINDOW)))
{
co_IntShellHookNotify(HSHELL_WINDOWCREATED, (WPARAM)Window->head.h, 0);
if (!(WinPos.flags & SWP_NOACTIVATE))
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 );