diff options
| author | 2024-01-04 15:51:24 -0500 | |
|---|---|---|
| committer | 2024-01-04 15:51:24 -0500 | |
| commit | a8f62bff4364b906076dcc4d1306d2f6fe83fc74 (patch) | |
| tree | d68ec1701f88a720c36ddf3304e9f309d9fee8c9 /src | |
| parent | Merge pull request #12571 from t895/apply-orientation-on-start (diff) | |
| parent | android: Save global config synchronously in onCloseGameFoldersFragment (diff) | |
| download | yuzu-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
Diffstat (limited to 'src')
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 | ||
| 17 | AndroidConfig::~AndroidConfig() { | ||
| 18 | if (global) { | ||
| 19 | AndroidConfig::SaveAllValues(); | ||
| 20 | } | ||
| 21 | } | ||
| 22 | |||
| 23 | void AndroidConfig::ReloadAllValues() { | 17 | void 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 { | |||
| 9 | public: | 9 | public: |
| 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"), |