Fixed lockup when rom is no longer on disk and power cycle is pressed while debugger tools are opened

This commit is contained in:
Sour 2019-11-16 22:56:01 -05:00
parent 27d512e02f
commit 5f7b2319ce

View file

@ -257,13 +257,13 @@ bool Console::Initialize(VirtualFile &romFile)
bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile)
{
if(romFile.IsValid()) {
Pause();
if(!_romFilepath.empty() && _mapper) {
//Ensure we save any battery file before loading a new game
SaveBatteries();
}
if(romFile.IsValid()) {
_videoDecoder->StopThread();
shared_ptr<HdPackData> originalHdPackData = _hdData;
@ -431,17 +431,22 @@ bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile)
return true;
} else {
_hdData = originalHdPackData;
}
}
//Reset battery source to current game if new game failed to load
_batteryManager->Initialize(FolderUtilities::GetFilename(GetRomInfo().RomName, false));
if(_mapper) {
_videoDecoder->StartThread();
}
Resume();
}
}
shared_ptr<Debugger> debugger = _debugger;
if(debugger) {
debugger->Resume();
}
MessageManager::DisplayMessage("Error", "CouldNotLoadFile", romFile.GetFileName());
Resume();
return false;
}