summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar liamwhite2024-01-04 15:51:24 -0500
committerGravatar GitHub2024-01-04 15:51:24 -0500
commita8f62bff4364b906076dcc4d1306d2f6fe83fc74 (patch)
treed68ec1701f88a720c36ddf3304e9f309d9fee8c9
parentMerge pull request #12571 from t895/apply-orientation-on-start (diff)
parentandroid: Save global config synchronously in onCloseGameFoldersFragment (diff)
downloadyuzu-a8f62bff4364b906076dcc4d1306d2f6fe83fc74.tar.gz
yuzu-a8f62bff4364b906076dcc4d1306d2f6fe83fc74.tar.xz
yuzu-a8f62bff4364b906076dcc4d1306d2f6fe83fc74.zip
Merge pull request #12575 from t895/inconsistent-settings-application
frontend_common: config: Only write setting related to opened config file
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt5
-rw-r--r--src/android/app/src/main/jni/android_config.cpp6
-rw-r--r--src/android/app/src/main/jni/android_config.h1
-rw-r--r--src/frontend_common/config.cpp5
4 files changed, 6 insertions, 11 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt
index d19f20dc2..5ae05b5cc 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt
@@ -167,13 +167,14 @@ class GamesViewModel : ViewModel() {
167 } 167 }
168 } 168 }
169 169
170 fun onCloseGameFoldersFragment() = 170 fun onCloseGameFoldersFragment() {
171 NativeConfig.saveGlobalConfig()
171 viewModelScope.launch { 172 viewModelScope.launch {
172 withContext(Dispatchers.IO) { 173 withContext(Dispatchers.IO) {
173 NativeConfig.saveGlobalConfig()
174 getGameDirs(true) 174 getGameDirs(true)
175 } 175 }
176 } 176 }
177 }
177 178
178 private fun getGameDirs(reloadList: Boolean = false) { 179 private fun getGameDirs(reloadList: Boolean = false) {
179 val gameDirs = NativeConfig.getGameDirs() 180 val gameDirs = NativeConfig.getGameDirs()
diff --git a/src/android/app/src/main/jni/android_config.cpp b/src/android/app/src/main/jni/android_config.cpp
index c86aa1c39..08aed3216 100644
--- a/src/android/app/src/main/jni/android_config.cpp
+++ b/src/android/app/src/main/jni/android_config.cpp
@@ -14,12 +14,6 @@ AndroidConfig::AndroidConfig(const std::string& config_name, ConfigType config_t
14 } 14 }
15} 15}
16 16
17AndroidConfig::~AndroidConfig() {
18 if (global) {
19 AndroidConfig::SaveAllValues();
20 }
21}
22
23void AndroidConfig::ReloadAllValues() { 17void AndroidConfig::ReloadAllValues() {
24 Reload(); 18 Reload();
25 ReadAndroidValues(); 19 ReadAndroidValues();
diff --git a/src/android/app/src/main/jni/android_config.h b/src/android/app/src/main/jni/android_config.h
index d83852de9..693e1e3f0 100644
--- a/src/android/app/src/main/jni/android_config.h
+++ b/src/android/app/src/main/jni/android_config.h
@@ -9,7 +9,6 @@ class AndroidConfig final : public Config {
9public: 9public:
10 explicit AndroidConfig(const std::string& config_name = "config", 10 explicit AndroidConfig(const std::string& config_name = "config",
11 ConfigType config_type = ConfigType::GlobalConfig); 11 ConfigType config_type = ConfigType::GlobalConfig);
12 ~AndroidConfig() override;
13 12
14 void ReloadAllValues() override; 13 void ReloadAllValues() override;
15 void SaveAllValues() override; 14 void SaveAllValues() override;
diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp
index 359a0d267..20de91ff4 100644
--- a/src/frontend_common/config.cpp
+++ b/src/frontend_common/config.cpp
@@ -883,9 +883,10 @@ void Config::WriteSettingGeneric(const Settings::BasicSetting* const setting) {
883 WriteBooleanSetting(std::string(key).append("\\use_global"), setting->UsingGlobal()); 883 WriteBooleanSetting(std::string(key).append("\\use_global"), setting->UsingGlobal());
884 } 884 }
885 if (global || !setting->UsingGlobal()) { 885 if (global || !setting->UsingGlobal()) {
886 auto value = global ? setting->ToStringGlobal() : setting->ToString();
886 WriteBooleanSetting(std::string(key).append("\\default"), 887 WriteBooleanSetting(std::string(key).append("\\default"),
887 setting->ToString() == setting->DefaultToString()); 888 value == setting->DefaultToString());
888 WriteStringSetting(key, setting->ToString()); 889 WriteStringSetting(key, value);
889 } 890 }
890 } else if (global) { 891 } else if (global) {
891 WriteBooleanSetting(std::string(key).append("\\default"), 892 WriteBooleanSetting(std::string(key).append("\\default"),