Эх сурвалжийг харах

yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer

Same behavior, less code.
Lioncash 7 жил өмнө
parent
commit
6949f73149

+ 6 - 7
src/yuzu/configuration/config.cpp

@@ -12,11 +12,16 @@ Config::Config() {
     // TODO: Don't hardcode the path; let the frontend decide where to put the config files.
     // TODO: Don't hardcode the path; let the frontend decide where to put the config files.
     qt_config_loc = FileUtil::GetUserPath(FileUtil::UserPath::ConfigDir) + "qt-config.ini";
     qt_config_loc = FileUtil::GetUserPath(FileUtil::UserPath::ConfigDir) + "qt-config.ini";
     FileUtil::CreateFullPath(qt_config_loc);
     FileUtil::CreateFullPath(qt_config_loc);
-    qt_config = new QSettings(QString::fromStdString(qt_config_loc), QSettings::IniFormat);
+    qt_config =
+        std::make_unique<QSettings>(QString::fromStdString(qt_config_loc), QSettings::IniFormat);
 
 
     Reload();
     Reload();
 }
 }
 
 
+Config::~Config() {
+    Save();
+}
+
 const std::array<int, Settings::NativeButton::NumButtons> Config::default_buttons = {
 const std::array<int, Settings::NativeButton::NumButtons> Config::default_buttons = {
     Qt::Key_A, Qt::Key_S, Qt::Key_Z,    Qt::Key_X,  Qt::Key_3,     Qt::Key_4,    Qt::Key_Q,
     Qt::Key_A, Qt::Key_S, Qt::Key_Z,    Qt::Key_X,  Qt::Key_3,     Qt::Key_4,    Qt::Key_Q,
     Qt::Key_W, Qt::Key_1, Qt::Key_2,    Qt::Key_N,  Qt::Key_M,     Qt::Key_F,    Qt::Key_T,
     Qt::Key_W, Qt::Key_1, Qt::Key_2,    Qt::Key_N,  Qt::Key_M,     Qt::Key_F,    Qt::Key_T,
@@ -337,9 +342,3 @@ void Config::Reload() {
 void Config::Save() {
 void Config::Save() {
     SaveValues();
     SaveValues();
 }
 }
-
-Config::~Config() {
-    Save();
-
-    delete qt_config;
-}

+ 2 - 1
src/yuzu/configuration/config.h

@@ -5,6 +5,7 @@
 #pragma once
 #pragma once
 
 
 #include <array>
 #include <array>
+#include <memory>
 #include <string>
 #include <string>
 #include <QVariant>
 #include <QVariant>
 #include "core/settings.h"
 #include "core/settings.h"
@@ -26,6 +27,6 @@ private:
     void ReadValues();
     void ReadValues();
     void SaveValues();
     void SaveValues();
 
 
-    QSettings* qt_config;
+    std::unique_ptr<QSettings> qt_config;
     std::string qt_config_loc;
     std::string qt_config_loc;
 };
 };