From 89a3b8fa8af8bb7b75f60fb4d7c2f75c32eef1ab Mon Sep 17 00:00:00 2001 From: Whindmar Saksit Date: Fri, 22 Nov 2024 20:33:12 +0100 Subject: [PATCH] [SHELL32] Refresh SHELLSTATE before writing it (#7516) --- dll/win32/shell32/wine/shellord.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dll/win32/shell32/wine/shellord.c b/dll/win32/shell32/wine/shellord.c index 2300a7aab88..effe7f55bcd 100644 --- a/dll/win32/shell32/wine/shellord.c +++ b/dll/win32/shell32/wine/shellord.c @@ -279,6 +279,11 @@ VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet) if (bSet) { DWORD changed = 0; + if (dwMask & ~g_CachedSSF) + { + SHELLSTATE tempstate; + SHGetSetSettings(&tempstate, dwMask, FALSE); // Read entries that are not in g_CachedSSF + } #define SHGSS_WriteAdv(name, value, SSF) \ do { \