[Scummvm-git-logs] scummvm master -> d7c225991148c179a409a55eefc07418a9e368e4

sluicebox noreply at scummvm.org
Wed May 6 05:15:31 UTC 2026


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
d7c2259911 SCI32: Handle quitting engine from debugger


Commit: d7c225991148c179a409a55eefc07418a9e368e4
    https://github.com/scummvm/scummvm/commit/d7c225991148c179a409a55eefc07418a9e368e4
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2026-05-05T22:13:00-07:00

Commit Message:
SCI32: Handle quitting engine from debugger

Fixes quitting SCI32 games from within the ScummVM debugger.

The engine would continue running in a subtly broken state,
as certain features stopped functioning due to showQuit()
returning true.

Changed paths:
    engines/sci/event.cpp
    engines/sci/graphics/frameout.cpp


diff --git a/engines/sci/event.cpp b/engines/sci/event.cpp
index c32175fb8e4..145d32f18a4 100644
--- a/engines/sci/event.cpp
+++ b/engines/sci/event.cpp
@@ -437,6 +437,7 @@ void EventManager::updateScreen() {
 		// (EventManager::shouldQuit() and EventManager::shouldReturnToLauncher()),
 		// which is very expensive to invoke constantly without any
 		// throttling at all.
+		// The SCI32 version of this check is in GfxFrameout::updateScreen().
 		if (g_engine->shouldQuit())
 			s->abortScriptProcessing = kAbortQuitGame;
 	}
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index c86620474ab..cb7fe4e4078 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -1210,6 +1210,12 @@ void GfxFrameout::updateScreen(const int delta) {
 	_lastScreenUpdateTick = now;
 	g_system->updateScreen();
 	g_sci->getSciDebugger()->onFrame();
+
+	// Handles quitting from within the debugger. The SCI16 version of
+	// this check is in EventManager::updateScreen with more details.
+	if (g_engine->shouldQuit()) {
+		g_sci->getEngineState()->abortScriptProcessing = kAbortQuitGame;
+	}
 }
 
 void GfxFrameout::kernelFrameOut(const bool shouldShowBits) {




More information about the Scummvm-git-logs mailing list