diff --git a/rpcs3/rpcs3qt/emu_settings.cpp b/rpcs3/rpcs3qt/emu_settings.cpp index 063e54bce8..254364cc5c 100644 --- a/rpcs3/rpcs3qt/emu_settings.cpp +++ b/rpcs3/rpcs3qt/emu_settings.cpp @@ -262,11 +262,9 @@ bool emu_settings::ValidateSettings(bool cleanup) return is_clean; } -void emu_settings::SaveSettings() const +void emu_settings::SaveSettings() { YAML::Emitter out; - emit_data(out, m_current_settings); - std::string config_name; if (m_title_id.empty()) @@ -275,9 +273,13 @@ void emu_settings::SaveSettings() const } else { + // VFS paths are being controlled mainly by the main config (needs manual modification for customization of custom configs) + m_current_settings.remove("VFS"); config_name = rpcs3::utils::get_custom_config_path(m_title_id); } + emit_data(out, m_current_settings); + // Save config atomically fs::pending_file temp(config_name); temp.file.write(out.c_str(), out.size()); diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index f901b0bc2c..c884dd1024 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -94,7 +94,7 @@ public: public Q_SLOTS: /** Writes the unsaved settings to file. Used in settings dialog on accept.*/ - void SaveSettings() const; + void SaveSettings(); private: YAML::Node m_default_settings; // The default settings as a YAML node. YAML::Node m_current_settings; // The current settings as a YAML node.