[Scummvm-git-logs] scummvm master -> 3f4425fa9e7b9ae9514b027e6e1ac628f6cdef24
elasota
noreply at scummvm.org
Sat Jun 10 00:09:10 UTC 2023
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:
3f4425fa9e MTROPOLIS: Terminate message propagation if the message target was deleted. Fixes infinite loop when exiting MTI piano
Commit: 3f4425fa9e7b9ae9514b027e6e1ac628f6cdef24
https://github.com/scummvm/scummvm/commit/3f4425fa9e7b9ae9514b027e6e1ac628f6cdef24
Author: elasota (ejlasota at gmail.com)
Date: 2023-06-09T20:08:42-04:00
Commit Message:
MTROPOLIS: Terminate message propagation if the message target was deleted. Fixes infinite loop when exiting MTI piano scene.
Changed paths:
engines/mtropolis/runtime.cpp
diff --git a/engines/mtropolis/runtime.cpp b/engines/mtropolis/runtime.cpp
index 9afa3f68d70..6f5e5819788 100644
--- a/engines/mtropolis/runtime.cpp
+++ b/engines/mtropolis/runtime.cpp
@@ -3755,18 +3755,24 @@ VThreadState MessageDispatch::continuePropagating(Runtime *runtime) {
switch (stackTop.propagationStage) {
case PropagationStack::kStageCheckAndSendCommand:
- if (_root.expired())
+ if (_root.expired()) {
+ _terminated = true;
return kVThreadReturn;
+ }
stackTop.propagationStage = PropagationStack::kStageSendCommand;
break;
case PropagationStack::kStageCheckAndSendToStructural:
- if (_root.expired())
+ if (_root.expired()) {
+ _terminated = true;
return kVThreadReturn;
+ }
stackTop.propagationStage = PropagationStack::kStageSendToStructuralSelf;
break;
case PropagationStack::kStageCheckAndSendToModifier:
- if (_root.expired())
+ if (_root.expired()) {
+ _terminated = true;
return kVThreadReturn;
+ }
stackTop.propagationStage = PropagationStack::kStageSendToModifier;
break;
case PropagationStack::kStageSendToModifier: {
More information about the Scummvm-git-logs
mailing list