Save-state: fix for loading state not re-asserting pending IRQs for Mouse & SSC. (#677)

NB. Small opt to CheckInterruptSources() to explicitly test sg_Mouse.IsActive() first.
This commit is contained in:
tomcw
2019-08-26 20:10:33 +01:00
parent 94bbc5ec3d
commit d9a15c30da
4 changed files with 11 additions and 5 deletions
+4 -2
View File
@@ -473,8 +473,7 @@ void CMouseInterface::OnMouseEvent(bool bEventVBL)
void CMouseInterface::SetVBlank(bool bVBL)
{
if (!m_bActive)
return;
_ASSERT(m_bActive); // Only called from CheckInterruptSources(), which is guarded by an: if (sg_Mouse.IsActive())
if ( m_bVBL != bVBL )
{
@@ -751,6 +750,9 @@ bool CMouseInterface::LoadSnapshot(class YamlLoadHelper& yamlLoadHelper, UINT sl
m_bButtons[1] = yamlLoadHelper.LoadBool(SS_YAML_KEY_BUTTON1);
m_bEnabled = yamlLoadHelper.LoadBool(SS_YAML_KEY_ENABLED); // MemInitializeIO() calls Initialize() which sets true
if (m_byState & STAT_INT_ALL) // GH#677
CpuIrqAssert(IS_MOUSE);
return true;
}