[0.4.13][WIN32SS] Improve many apps not starting with active taskbar pane (#2396)

Many thanks to the patches author JIRA-user "blueghost"
tibor.fuzi@gmail.com

The patch fixes regression CORE-16703, which was unhidden by explorer commit
8ad0eae687 == SVN r74968
although the root-cause was missing functionality in WIN32SS.

The patch also fixes CORE-16705 and CORE-16706.
Only a few applications still show issues with the taskbar panes,
we have strong indications that other patches in master during
0.4.14-dev'ing already improved the situation further.

This patch (#2396) to date has not been committed to master yet,
but I guess that will happen soon.

TestBot results on 0.4.13-RC-48-g818e5bc:
VBox https://reactos.org/testman/compare.php?ids=71645,71670 LGTM
 KVM https://reactos.org/testman/compare.php?ids=71646,71671 LGTM
This commit is contained in:
Joachim Henze 2020-03-05 02:32:33 +01:00
parent 818e5bc752
commit 1e5d33ba25
2 changed files with 7 additions and 3 deletions

View file

@ -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;

View file

@ -1908,7 +1908,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++;