[Scummvm-git-logs] scummvm master -> 779b8336b1227f010099f8faabe4d0c9b035832e

wjp wjp at usecode.org
Tue May 16 22:43:28 CEST 2017


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

Summary:
779b8336b1 SCI: Let getClassAddress fail gracefully with SCRIPT_GET_DONT_LOAD


Commit: 779b8336b1227f010099f8faabe4d0c9b035832e
    https://github.com/scummvm/scummvm/commit/779b8336b1227f010099f8faabe4d0c9b035832e
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2017-05-16T22:41:47+02:00

Commit Message:
SCI: Let getClassAddress fail gracefully with SCRIPT_GET_DONT_LOAD

This fixes a crash in the debugger when disassembling the class opcode
with a class from a script that hasn't yet been loaded.

Changed paths:
    engines/sci/engine/seg_manager.cpp


diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp
index d13d94a..a941dd3 100644
--- a/engines/sci/engine/seg_manager.cpp
+++ b/engines/sci/engine/seg_manager.cpp
@@ -1016,6 +1016,9 @@ reg_t SegManager::getClassAddress(int classnr, ScriptLoadType lock, uint16 calle
 			getScriptSegment(the_class->script, lock);
 
 			if (!the_class->reg.getSegment()) {
+				if (lock == SCRIPT_GET_DONT_LOAD)
+					return NULL_REG;
+
 				error("[VM] Trying to instantiate class %x by instantiating script 0x%x (%03d) failed", classnr, the_class->script, the_class->script);
 			}
 		} else





More information about the Scummvm-git-logs mailing list