From 14d2b50eddc818b78fa60f7d354249bb1abe3038 Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Thu, 22 Aug 2024 13:10:12 +0200 Subject: [PATCH] Improve handling of errors during console reload. --- src/emucore/EventHandler.cxx | 6 ++++-- src/gui/CommandDialog.cxx | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx index cf26a716c..f632d7119 100644 --- a/src/emucore/EventHandler.cxx +++ b/src/emucore/EventHandler.cxx @@ -1519,12 +1519,14 @@ void EventHandler::handleEvent(Event::Type event, Int32 value, bool repeated) case Event::ReloadConsole: if(pressed && !repeated && !myOSystem.reloadConsole(true)) - setState(EventHandlerState::LAUNCHER); + exitEmulation(true); return; case Event::PreviousMultiCartRom: - if(pressed && !repeated) myOSystem.reloadConsole(false); + if(pressed && !repeated&& !myOSystem.reloadConsole(true)) + exitEmulation(true); + return; case Event::ToggleTimeMachine: diff --git a/src/gui/CommandDialog.cxx b/src/gui/CommandDialog.cxx index c3f481e3c..dc16bf2f4 100644 --- a/src/gui/CommandDialog.cxx +++ b/src/gui/CommandDialog.cxx @@ -224,7 +224,7 @@ void CommandDialog::handleCommand(CommandSender* sender, int cmd, } case kReloadRomCmd: instance().eventHandler().leaveMenuMode(); - instance().reloadConsole(); + instance().eventHandler().handleEvent(Event::ReloadConsole); break; default: