diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index 7d7323bd54..60eb90e281 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -7,6 +7,7 @@ #include "Common/FileUtil.h" #include "Common/IniFile.h" #include "Core/ConfigManager.h" +#include "Core/Core.h" #include "Core/HW/SI.h" #include "Core/PowerPC/PowerPC.h" #include "DiscIO/NANDContentLoader.h" @@ -39,6 +40,13 @@ SConfig::~SConfig() void SConfig::SaveSettings() { + // TODO: The is a hotfix to prevent writing of temporary per-game settings + // (GameINI, Movie, Netplay, ...) to the global Dolphin configuration file. + // The Config logic should be rewritten instead so that per-game settings + // aren't stored in the same configuration as the actual user settings. + if (Core::IsRunning()) + return; + NOTICE_LOG(BOOT, "Saving settings to %s", File::GetUserPath(F_DOLPHINCONFIG_IDX).c_str()); IniFile ini; ini.Load(File::GetUserPath(F_DOLPHINCONFIG_IDX)); // load first to not kill unknown stuff diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 1a989878f5..a5f5513d3f 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -239,6 +239,13 @@ void VideoConfig::VerifyValidity() void VideoConfig::Save(const std::string& ini_file) { + // TODO: The is a hotfix to prevent writing of temporary per-game settings + // (GameINI, Movie, Netplay, ...) to the global Dolphin configuration file. + // The Config logic should be rewritten instead so that per-game settings + // aren't stored in the same configuration as the actual user settings. + if (Core::IsRunning()) + return; + IniFile iniFile; iniFile.Load(ini_file);