From d13229363ce97facb29bfd2e0a964d6918ab09b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 3 Jul 2016 23:58:37 +0000 Subject: [PATCH] [SHELL32]: Fix a regression I introduced in r71804. svn path=/trunk/; revision=71805 --- reactos/dll/win32/shell32/wine/shpolicy.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/shell32/wine/shpolicy.c b/reactos/dll/win32/shell32/wine/shpolicy.c index d57e90e7862..d6f51ede81a 100644 --- a/reactos/dll/win32/shell32/wine/shpolicy.c +++ b/reactos/dll/win32/shell32/wine/shpolicy.c @@ -859,15 +859,18 @@ DWORD WINAPI SHRestricted (RESTRICTIONS policy) lstrcatA(regstr, p->appstr); /* return 0 and don't set the cache if any registry errors occur */ - retval = 0; #ifndef __REACTOS__ + retval = 0; if (RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey) == ERROR_SUCCESS) #else // FIXME: Actually this *MUST* use shlwapi!SHRestrictionLookup() // See http://www.geoffchappell.com/studies/windows/shell/shell32/api/util/shrestricted.htm - retval = RegOpenKeyA(HKEY_LOCAL_MACHINE, regstr, &xhkey); + retval = RegOpenKeyA(HKEY_LOCAL_MACHINE, regstr, &xhkey); + if (retval != ERROR_SUCCESS) + { + retval = RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey); if (retval != ERROR_SUCCESS) - retval = RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey); - if (retval == ERROR_SUCCESS) + return 0; + } #endif { if (RegQueryValueExA(xhkey, p->keystr, NULL, NULL, (LPBYTE)&retval, &datsize) == ERROR_SUCCESS)