summaryrefslogtreecommitdiff
path: root/src/frontend_common/config.cpp
diff options
context:
space:
mode:
authorGravatar t8952024-01-03 22:16:54 -0500
committerGravatar t8952024-01-03 22:49:41 -0500
commitfa04dea7c4f0d5dba86cdec23d6e8262752983e9 (patch)
tree220d650ef629fc34561e6ee7cc3ea18106e3244d /src/frontend_common/config.cpp
parentandroid: Don't save settings on config destruction (diff)
downloadyuzu-fa04dea7c4f0d5dba86cdec23d6e8262752983e9.tar.gz
yuzu-fa04dea7c4f0d5dba86cdec23d6e8262752983e9.tar.xz
yuzu-fa04dea7c4f0d5dba86cdec23d6e8262752983e9.zip
frontend_common: config: Only write setting related to opened config file
If we tried to write a switchable setting to config that was not using global in the global config instance, we could write the per-game setting accidentally. This ensures that we always use the global setting for global config and the currently applied setting for custom config.
Diffstat (limited to 'src/frontend_common/config.cpp')
-rw-r--r--src/frontend_common/config.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp
index 51576b4ee..678e27ef8 100644
--- a/src/frontend_common/config.cpp
+++ b/src/frontend_common/config.cpp
@@ -894,9 +894,10 @@ void Config::WriteSettingGeneric(const Settings::BasicSetting* const setting) {
894 WriteBooleanSetting(std::string(key).append("\\use_global"), setting->UsingGlobal()); 894 WriteBooleanSetting(std::string(key).append("\\use_global"), setting->UsingGlobal());
895 } 895 }
896 if (global || !setting->UsingGlobal()) { 896 if (global || !setting->UsingGlobal()) {
897 auto value = global ? setting->ToStringGlobal() : setting->ToString();
897 WriteBooleanSetting(std::string(key).append("\\default"), 898 WriteBooleanSetting(std::string(key).append("\\default"),
898 setting->ToString() == setting->DefaultToString()); 899 value == setting->DefaultToString());
899 WriteStringSetting(key, setting->ToString()); 900 WriteStringSetting(key, value);
900 } 901 }
901 } else if (global) { 902 } else if (global) {
902 WriteBooleanSetting(std::string(key).append("\\default"), 903 WriteBooleanSetting(std::string(key).append("\\default"),