From 7644ba6fa8db817b00271d181263dd11bc295524 Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Wed, 21 Aug 2024 23:09:32 +0200 Subject: [PATCH] Avoid crash if strict mode is enabled, console is reloaded and linking fails. --- src/emucore/EventHandler.cxx | 4 +++- src/emucore/OSystem.cxx | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx index 4554e1aeb..cf26a716c 100644 --- a/src/emucore/EventHandler.cxx +++ b/src/emucore/EventHandler.cxx @@ -1518,7 +1518,9 @@ void EventHandler::handleEvent(Event::Type event, Int32 value, bool repeated) return; case Event::ReloadConsole: - if(pressed && !repeated) myOSystem.reloadConsole(true); + if(pressed && !repeated && !myOSystem.reloadConsole(true)) + setState(EventHandlerState::LAUNCHER); + return; case Event::PreviousMultiCartRom: diff --git a/src/emucore/OSystem.cxx b/src/emucore/OSystem.cxx index e7f06314c..b669d2300 100644 --- a/src/emucore/OSystem.cxx +++ b/src/emucore/OSystem.cxx @@ -967,6 +967,7 @@ void OSystem::mainLoop() const bool wasEmulation = myEventHandler->state() == EventHandlerState::EMULATION; myEventHandler->poll(TimerManager::getTicks()); + if(myQuitLoop) break; // Exit if the user wants to quit if (!wasEmulation && myEventHandler->state() == EventHandlerState::EMULATION) {