diff --git a/Core/System.cpp b/Core/System.cpp index 96d6ae5f8a..f46eaa915d 100644 --- a/Core/System.cpp +++ b/Core/System.cpp @@ -122,7 +122,8 @@ void UpdateUIState(GlobalUIState newState) { // Never leave the EXIT state. if (globalUIState != newState && globalUIState != UISTATE_EXIT) { globalUIState = newState; - host->UpdateDisassembly(); + if (host) + host->UpdateDisassembly(); const char *state = nullptr; switch (globalUIState) { case UISTATE_EXIT: state = "exit"; break; diff --git a/Windows/Debugger/Debugger_MemoryDlg.cpp b/Windows/Debugger/Debugger_MemoryDlg.cpp index 6532c6a6f1..b11c53425f 100644 --- a/Windows/Debugger/Debugger_MemoryDlg.cpp +++ b/Windows/Debugger/Debugger_MemoryDlg.cpp @@ -131,9 +131,8 @@ void CMemoryDlg::searchBoxRedraw(std::vector results) { } -void CMemoryDlg::NotifyMapLoaded() -{ - if (m_hDlg) +void CMemoryDlg::NotifyMapLoaded() { + if (m_hDlg && g_symbolMap) g_symbolMap->FillSymbolListBox(symListHdl, ST_DATA); Update(); } diff --git a/Windows/EmuThread.cpp b/Windows/EmuThread.cpp index a0a8a359fa..0e373989c4 100644 --- a/Windows/EmuThread.cpp +++ b/Windows/EmuThread.cpp @@ -263,6 +263,9 @@ void MainThreadFunc() { if (!Core_IsActive()) UpdateUIState(UISTATE_MENU); Core_Run(g_graphicsContext); + if (coreState == CORE_BOOT_ERROR) { + break; + } } } Core_Stop();