[Scummvm-cvs-logs] scummvm master -> 6929cc65f8e9e46ce5a04f75bcf48d0d1ada2b38

bluegr bluegr at gmail.com
Tue Aug 23 12:09:28 CEST 2016


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:
6929cc65f8 SCI32: Explicitly abord kEachElementDo when a game is being loaded


Commit: 6929cc65f8e9e46ce5a04f75bcf48d0d1ada2b38
    https://github.com/scummvm/scummvm/commit/6929cc65f8e9e46ce5a04f75bcf48d0d1ada2b38
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-08-23T13:08:37+03:00

Commit Message:
SCI32: Explicitly abord kEachElementDo when a game is being loaded

This is a better check than the one in commit 3d1f1a3a21

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



diff --git a/engines/sci/engine/klists.cpp b/engines/sci/engine/klists.cpp
index bc55914..91a0484 100644
--- a/engines/sci/engine/klists.cpp
+++ b/engines/sci/engine/klists.cpp
@@ -576,9 +576,10 @@ reg_t kListEachElementDo(EngineState *s, int argc, reg_t *argv) {
 			}
 		} else {
 			invokeSelector(s, curObject, slc, argc, argv, argc - 2, argv + 2);
-			// Check if the list has been invalidated after the call above
-			// (e.g. when restoring in Torin)
-			if (s->_segMan->getSegmentType(argv[0].getSegment()) != SEG_TYPE_LISTS)
+			// Check if the call above leads to a game restore, in which case
+			// the segment manager will be reset, and the original list will
+			// be invalidated
+			if (s->abortScriptProcessing == kAbortLoadGame)
 				return s->r_acc;
 		}
 






More information about the Scummvm-git-logs mailing list