[REGEDIT] Fix regedit not showing it's main window when loading view settings fail...
authorMark Jansen <mark.jansen@reactos.org>
Sat, 18 Mar 2017 12:54:43 +0000 (12:54 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Sat, 18 Mar 2017 12:54:43 +0000 (12:54 +0000)
svn path=/trunk/; revision=74186

reactos/base/applications/regedit/settings.c

index 50f5a7c..b62fae9 100644 (file)
@@ -67,6 +67,7 @@ extern void LoadSettings(void)
     {
         RegistryBinaryConfig tConfig;
         DWORD iBufferSize = sizeof(tConfig);
+        BOOL bVisible = FALSE;
 
         if (RegQueryValueExW(hKey, L"View", NULL, NULL, (LPBYTE)&tConfig, &iBufferSize) == ERROR_SUCCESS)
         {
@@ -90,19 +91,21 @@ extern void LoadSettings(void)
 
                 /* Apply program window settings */
                 tConfig.tPlacement.length = sizeof(WINDOWPLACEMENT);
-                if (SetWindowPlacement(hFrameWnd, &tConfig.tPlacement) == FALSE)
-                    /* In case we fail, show normal */
-                    ShowWindow(hFrameWnd, SW_SHOWNORMAL);
+                bVisible = SetWindowPlacement(hFrameWnd, &tConfig.tPlacement);
             }
         }
 
+        /* In case we fail to restore the window, or open the key, show normal */
+        if (!bVisible)
+            ShowWindow(hFrameWnd, SW_SHOWNORMAL);
+
         /* Restore key position */
         if (QueryStringValue(HKEY_CURRENT_USER, g_szGeneralRegKey, L"LastKey", szBuffer, COUNT_OF(szBuffer)) == ERROR_SUCCESS)
         {
             SelectNode(g_pChildWnd->hTreeWnd, szBuffer);
         }
 
-    RegCloseKey(hKey);
+        RegCloseKey(hKey);
     }
     else
     {