summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2010-11-04 12:50:44 +0000
committerShawn Hoffman <godisgovernment@gmail.com>2010-11-04 12:50:44 +0000
commit45c92d27f22757e1e9ec9cc3c679121b4175f1db (patch)
treedaa71481b779c9c7433ac9108d66659921bf99f7 /Source/Core
parentde62a190f1e78a429568a42881699ccce5d2ec0f (diff)
fix for r6337: don't restore cached settings if a gameconfig was not used.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6340 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/Src/BootManager.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/Source/Core/DolphinWX/Src/BootManager.cpp b/Source/Core/DolphinWX/Src/BootManager.cpp
index 9b2a235f73..fc90ffae59 100644
--- a/Source/Core/DolphinWX/Src/BootManager.cpp
+++ b/Source/Core/DolphinWX/Src/BootManager.cpp
@@ -67,7 +67,7 @@ namespace BootManager
// Apply fire liberally
struct ConfigCache
{
- bool bCPUThread, bSkipIdle, bEnableFPRF, bMMU, bMMUBAT,
+ bool valid, bCPUThread, bSkipIdle, bEnableFPRF, bMMU, bMMUBAT,
bAlternateRFI, bFastDiscSpeed, bMergeBlocks;
int iTLBHack;
};
@@ -112,6 +112,7 @@ bool BootCore(const std::string& _rFilename)
StartUp.m_strGameIni = std::string(File::GetUserPath(D_GAMECONFIG_IDX)) + unique_id + ".ini";
if (unique_id.size() == 6 && game_ini.Load(StartUp.m_strGameIni.c_str()))
{
+ config_cache.valid = true;
config_cache.bCPUThread = StartUp.bCPUThread;
config_cache.bSkipIdle = StartUp.bSkipIdle;
config_cache.bEnableFPRF = StartUp.bEnableFPRF;
@@ -170,15 +171,19 @@ void Stop()
SCoreStartupParameter& StartUp = SConfig::GetInstance().m_LocalCoreStartupParameter;
- StartUp.bCPUThread = config_cache.bCPUThread;
- StartUp.bSkipIdle = config_cache.bSkipIdle;
- StartUp.bEnableFPRF = config_cache.bEnableFPRF;
- StartUp.bMMU = config_cache.bMMU;
- StartUp.bMMUBAT = config_cache.bMMUBAT;
- StartUp.iTLBHack = config_cache.iTLBHack;
- StartUp.bAlternateRFI = config_cache.bAlternateRFI;
- StartUp.bFastDiscSpeed = config_cache.bFastDiscSpeed;
- StartUp.bMergeBlocks = config_cache.bMergeBlocks;
+ if (config_cache.valid)
+ {
+ config_cache.valid = false;
+ StartUp.bCPUThread = config_cache.bCPUThread;
+ StartUp.bSkipIdle = config_cache.bSkipIdle;
+ StartUp.bEnableFPRF = config_cache.bEnableFPRF;
+ StartUp.bMMU = config_cache.bMMU;
+ StartUp.bMMUBAT = config_cache.bMMUBAT;
+ StartUp.iTLBHack = config_cache.iTLBHack;
+ StartUp.bAlternateRFI = config_cache.bAlternateRFI;
+ StartUp.bFastDiscSpeed = config_cache.bFastDiscSpeed;
+ StartUp.bMergeBlocks = config_cache.bMergeBlocks;
+ }
}
} // namespace