From 314914005247520b3a8ebed79de02c7a5d1fd794 Mon Sep 17 00:00:00 2001 From: "Admiral H. Curtiss" Date: Thu, 2 Jul 2015 22:27:01 +0200 Subject: [PATCH] Config: Hotfix to prevent per-game settings from ie. GameINIs being stored to the global user configuration. --- Source/Core/Core/ConfigManager.cpp | 9 ++++++++- Source/Core/VideoCommon/VideoConfig.cpp | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index db933bceaf..d70daf08c9 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -12,7 +12,7 @@ #include "Common/StringUtil.h" #include "Core/ConfigManager.h" -#include "Core/Core.h" // for bWii +#include "Core/Core.h" #include "Core/Boot/Boot.h" #include "Core/Boot/Boot_DOL.h" #include "Core/FifoPlayer/FifoDataFile.h" @@ -82,6 +82,13 @@ SConfig::~SConfig() void SConfig::SaveSettings() { + // TODO: This 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 a9181e7b21..4fcb1aac2f 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -269,6 +269,13 @@ void VideoConfig::VerifyValidity() void VideoConfig::Save(const std::string& ini_file) { + // TODO: This 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);