Browse Source

SettingsMonitor: There is a bug in Explorer windows where WM_SETTINGCHANGE would scroll the ItemsView to the top, we minimize the damage due to this by pinpointing the WM_SETTINGCHANGE message to taskbar window.

pull/4568/head
Amrsatrio 6 months ago
parent
commit
fa19402bff
  1. 12
      ExplorerPatcher/dllmain.c

12
ExplorerPatcher/dllmain.c

@ -6714,7 +6714,11 @@ void WINAPI LoadSettings(LPARAM lParam) @@ -6714,7 +6714,11 @@ void WINAPI LoadSettings(LPARAM lParam)
}
if ((dwRefreshUIMask & REFRESHUI_ORB) || (dwRefreshUIMask & REFRESHUI_PEOPLE))
{
SendNotifyMessageW(HWND_BROADCAST, WM_WININICHANGE, 0, (LPARAM)L"TraySettings");
HWND hwndTray = FindWindowW(L"Shell_TrayWnd", NULL);
if (hwndTray)
{
SendMessageW(hwndTray, WM_WININICHANGE, 0, (LPARAM)L"TraySettings");
}
if (dwRefreshUIMask & REFRESHUI_ORB)
{
InvalidateRect(FindWindowW(L"ExplorerPatcher_GUI_" _T(EP_CLSID), NULL), NULL, FALSE);
@ -6954,7 +6958,11 @@ void WINAPI Explorer_RefreshUI(int src) @@ -6954,7 +6958,11 @@ void WINAPI Explorer_RefreshUI(int src)
}
}
if (src == 99) return;
SendNotifyMessageW(HWND_BROADCAST, WM_WININICHANGE, 0, (LPARAM)L"TraySettings");
HWND hwndTray = FindWindowW(L"Shell_TrayWnd", NULL);
if (hwndTray)
{
SendMessageW(hwndTray, WM_WININICHANGE, 0, (LPARAM)L"TraySettings");
}
Explorer_RefreshClock(0);
if (dwRefreshMask & REFRESHUI_CENTER)
{

Loading…
Cancel
Save