Browse Source

Prevent settings from being saved to setreg files on editor close. Limiting this to avoid a bigger blast radius. (#5717)

Signed-off-by: Danilo Aimini <[email protected]>
Danilo Aimini 3 years ago
parent
commit
a8dcfbbb13
3 changed files with 8 additions and 6 deletions
  1. 1 1
      Code/Editor/MainWindow.cpp
  2. 6 4
      Code/Editor/Settings.cpp
  3. 1 1
      Code/Editor/Settings.h

+ 1 - 1
Code/Editor/MainWindow.cpp

@@ -519,7 +519,7 @@ MainWindow* MainWindow::instance()
 
 void MainWindow::closeEvent(QCloseEvent* event)
 {
-    gSettings.Save();
+    gSettings.Save(true);
 
     AzFramework::SystemCursorState currentCursorState;
     bool isInGameMode = false;

+ 6 - 4
Code/Editor/Settings.cpp

@@ -473,7 +473,7 @@ void SEditorSettings::LoadValue(const char* sSection, const char* sKey, ESystemC
 }
 
 //////////////////////////////////////////////////////////////////////////
-void SEditorSettings::Save()
+void SEditorSettings::Save(bool isEditorClosing)
 {
     QString strStringPlaceholder;
 
@@ -640,14 +640,16 @@ void SEditorSettings::Save()
     // --- Settings Registry values
 
     // Prefab System UI
-    AzFramework::ApplicationRequests::Bus::Broadcast(
-        &AzFramework::ApplicationRequests::SetPrefabSystemEnabled, prefabSystem);
+    AzFramework::ApplicationRequests::Bus::Broadcast(&AzFramework::ApplicationRequests::SetPrefabSystemEnabled, prefabSystem);
 
     AzToolsFramework::Prefab::PrefabLoaderInterface* prefabLoaderInterface =
         AZ::Interface<AzToolsFramework::Prefab::PrefabLoaderInterface>::Get();
     prefabLoaderInterface->SetSaveAllPrefabsPreference(levelSaveSettings.saveAllPrefabsPreference);
 
-    SaveSettingsRegistryFile();
+    if (!isEditorClosing)
+    {
+        SaveSettingsRegistryFile();
+    }
 }
 
 //////////////////////////////////////////////////////////////////////////

+ 1 - 1
Code/Editor/Settings.h

@@ -267,7 +267,7 @@ struct SANDBOX_API SEditorSettings
 AZ_POP_DISABLE_DLL_EXPORT_BASECLASS_WARNING
     SEditorSettings();
     ~SEditorSettings() = default;
-    void    Save();
+    void    Save(bool isEditorClosing = false);
     void    Load();
     void    LoadCloudSettings();