From bdafbe0b2860d95a77e1903e6227e4d9da953f2d Mon Sep 17 00:00:00 2001
From: Stenzek <stenzek@gmail.com>
Date: Fri, 5 Apr 2024 14:27:37 +1000
Subject: [PATCH] Qt: Fix crash on shutdown settings save

---
 src/duckstation-qt/qthost.cpp | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/duckstation-qt/qthost.cpp b/src/duckstation-qt/qthost.cpp
index d9b5a9e95..c5c9829bc 100644
--- a/src/duckstation-qt/qthost.cpp
+++ b/src/duckstation-qt/qthost.cpp
@@ -1820,13 +1820,17 @@ void QtHost::SaveSettings()
   AssertMsg(!g_emu_thread->isOnThread(), "Saving should happen on the UI thread.");
 
   {
+    Error error;
     auto lock = Host::GetSettingsLock();
-    if (!s_base_settings_interface->Save())
-      Log_ErrorPrintf("Failed to save settings.");
+    if (!s_base_settings_interface->Save(&error))
+      Log_ErrorFmt("Failed to save settings: {}", error.GetDescription());
   }
 
-  s_settings_save_timer->deleteLater();
-  s_settings_save_timer.release();
+  if (s_settings_save_timer)
+  {
+    s_settings_save_timer->deleteLater();
+    s_settings_save_timer.release();
+  }
 }
 
 void QtHost::QueueSettingsSave()