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

mduggan noreply at scummvm.org
Thu Oct 30 06:53:25 UTC 2025


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:
e2b63d439f ACCESS: Avoid crash on certain MM deaths (fixes #16308)


Commit: e2b63d439fe03c164ba1e2e889b8fd75e9f74b37
    https://github.com/scummvm/scummvm/commit/e2b63d439fe03c164ba1e2e889b8fd75e9f74b37
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2025-10-30T15:52:07+09:00

Commit Message:
ACCESS: Avoid crash on certain MM deaths (fixes #16308)

Changed paths:
    engines/access/scripts.cpp


diff --git a/engines/access/scripts.cpp b/engines/access/scripts.cpp
index 0af344868c8..361ddcc39e6 100644
--- a/engines/access/scripts.cpp
+++ b/engines/access/scripts.cpp
@@ -173,7 +173,11 @@ void Scripts::charLoop() {
 	_vm->plotList1();
 	_vm->copyBlocks();
 
-	_data->seek(pos);
+	// Have to check for null data here in case of death
+	// (which original handles by goto-ing out of the loop)
+	if (_data)
+		_data->seek(pos);
+
 	_endFlag = endFlag;
 }
 
@@ -1233,6 +1237,14 @@ void Scripts::cmdDead() {
 	int deathId = _data->readByte();
 	debugC(1, kDebugScripts, "cmdDead(deathId=%d)", deathId);
 	_vm->dead(deathId);
+
+	//
+	// The original uses GOTO inside the death function so never gets here,
+	// but we avoid the goto and return instead.
+	//
+	// The room script has been freed so set end flag to gracefully exit.
+	//
+	_endFlag = true;
 }
 
 void Scripts::cmdFadeOut() {




More information about the Scummvm-git-logs mailing list