https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d967b5aa251545644b80c68cbe3cef7ab8e3078b

commit d967b5aa251545644b80c68cbe3cef7ab8e3078b
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Sun Dec 29 15:48:42 2019 +0100
Commit:     Hermès Bélusca-Maïto <[email protected]>
CommitDate: Sun Dec 29 16:14:26 2019 +0100

    [BROWSEUI] Remove useless RegenerateUserEnvironment() call.
    [SHELL32]  Call RegenerateUserEnvironment() in WM_SETTINGCHANGE handler 
**ONLY** when lParam points to the L"Environment" string.
    CORE-15147
---
 dll/win32/browseui/shellbrowser.cpp                | 3 ---
 dll/win32/shell32/shelldesktop/CDesktopBrowser.cpp | 8 ++++++--
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/dll/win32/browseui/shellbrowser.cpp 
b/dll/win32/browseui/shellbrowser.cpp
index 04d9b583c3d..f1e93e0f2ff 100644
--- a/dll/win32/browseui/shellbrowser.cpp
+++ b/dll/win32/browseui/shellbrowser.cpp
@@ -3558,9 +3558,6 @@ LRESULT CShellBrowser::RelayMsgToShellView(UINT uMsg, 
WPARAM wParam, LPARAM lPar
 
 LRESULT CShellBrowser::OnSettingChange(UINT uMsg, WPARAM wParam, LPARAM 
lParam, BOOL &bHandled)
 {
-    LPVOID lpEnvironment;
-    RegenerateUserEnvironment(&lpEnvironment, TRUE);
-
     SHPropagateMessage(m_hWnd, uMsg, wParam, lParam, TRUE);
     return 0;
 }
diff --git a/dll/win32/shell32/shelldesktop/CDesktopBrowser.cpp 
b/dll/win32/shell32/shelldesktop/CDesktopBrowser.cpp
index 934f53d17b9..610022a4b7b 100644
--- a/dll/win32/shell32/shelldesktop/CDesktopBrowser.cpp
+++ b/dll/win32/shell32/shelldesktop/CDesktopBrowser.cpp
@@ -390,8 +390,12 @@ LRESULT CDesktopBrowser::OnSize(UINT uMsg, WPARAM wParam, 
LPARAM lParam, BOOL &b
 
 LRESULT CDesktopBrowser::OnSettingChange(UINT uMsg, WPARAM wParam, LPARAM 
lParam, BOOL &bHandled)
 {
-    LPVOID lpEnvironment;
-    RegenerateUserEnvironment(&lpEnvironment, TRUE);
+    if (uMsg == WM_SETTINGCHANGE /* == WM_WININICHANGE */ &&
+        lstrcmpiW((LPCWSTR)lParam, L"Environment") == 0)
+    {
+        LPVOID lpEnvironment;
+        RegenerateUserEnvironment(&lpEnvironment, TRUE);
+    }
 
     if (m_hWndShellView)
     {

Reply via email to