Fix ASSERT during VM restart

This commit is contained in:
tomcw 2023-01-16 21:59:48 +00:00
parent 35ee7a9be3
commit bb64d67471
4 changed files with 3 additions and 11 deletions

View File

@ -241,6 +241,7 @@ void CardManager::Destroy()
}
}
GetCardMgr().GetDisk2CardMgr().Destroy();
GetCardMgr().GetMockingboardCardMgr().Destroy();
}

View File

@ -106,15 +106,9 @@ void Disk2CardManager::LoadLastDiskImage(void)
}
}
// Called by CardManager::Destroy()
void Disk2CardManager::Destroy(void)
{
for (UINT i = 0; i < NUM_SLOTS; i++)
{
if (GetCardMgr().QuerySlot(i) == CT_Disk2)
{
dynamic_cast<Disk2InterfaceCard&>(GetCardMgr().GetRef(i)).Destroy();
}
}
}
bool Disk2CardManager::IsAnyFirmware13Sector(void)

View File

@ -114,7 +114,6 @@ private:
void AY8910_Write(BYTE nDevice, BYTE nValue, BYTE nAYDevice);
void WriteToORB(BYTE device);
void UpdateIFRandIRQ(SY6522_AY8910* pMB, BYTE clr_mask, BYTE set_mask);
void InitSoundcardType(void);
void Phasor_SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
bool Phasor_LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version);

View File

@ -964,9 +964,7 @@ LRESULT Win32Frame::WndProc(
if (!g_bRestart) // GH#564: Only save-state on shutdown (not on a restart)
Snapshot_Shutdown();
DebugDestroy();
if (!g_bRestart) { // TODO: why only done for !g_bRestart, ie. why only done when exiting the app ?
GetCardMgr().Destroy();
}
GetCardMgr().Destroy();
PrintDestroy();
CpuDestroy();
MemDestroy();