diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c index 51791c7a96..db6a355b4f 100644 --- a/programs/explorer/desktop.c +++ b/programs/explorer/desktop.c @@ -644,17 +644,22 @@ static BOOL get_default_enable_shell( const WCHAR *name ) 'E','x','p','l','o','r','e','r','\\', 'D','e','s','k','t','o','p','s',0}; static const WCHAR enable_shellW[] = {'E','n','a','b','l','e','S','h','e','l','l',0}; + static const WCHAR shellW[] = {'s','h','e','l','l',0}; HKEY hkey; - BOOL result = FALSE; + BOOL found = FALSE; + BOOL result; DWORD size = sizeof(result); /* @@ Wine registry key: HKCU\Software\Wine\Explorer\Desktops */ if (!RegOpenKeyW( HKEY_CURRENT_USER, desktop_keyW, &hkey )) { - if (RegGetValueW( hkey, name, enable_shellW, RRF_RT_REG_DWORD, NULL, &result, &size )) - result = FALSE; + if (!RegGetValueW( hkey, name, enable_shellW, RRF_RT_REG_DWORD, NULL, &result, &size )) + found = TRUE; RegCloseKey( hkey ); } + /* Default off, except for the magic desktop name "shell" */ + if (!found) + result = (lstrcmpiW( name, shellW ) == 0); return result; }