[Scummvm-git-logs] scummvm master -> 80f83e256561d7f8aa80e6eed990871e815af499
moralrecordings
code at moral.net.au
Sun May 31 07:05:47 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
729e9768a2 DIRECTOR: LINGO: Fix executeHandler
80f83e2565 DIRECTOR: LINGO: Stop execution when the call stack is empty
Commit: 729e9768a25db89067451ae0d72822f3095d1807
https://github.com/scummvm/scummvm/commit/729e9768a25db89067451ae0d72822f3095d1807
Author: Scott Percival (code at moral.net.au)
Date: 2020-05-31T15:02:19+08:00
Commit Message:
DIRECTOR: LINGO: Fix executeHandler
executeHandler is called by the main loop, and should start code execution.
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 22a9ca5976..c0fe343207 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -399,6 +399,7 @@ void Lingo::executeHandler(Common::String name) {
debugC(1, kDebugLingoExec, "Executing script handler : %s", name.c_str());
LC::call(name, 0);
+ execute(_pc);
cleanLocalVars();
}
Commit: 80f83e256561d7f8aa80e6eed990871e815af499
https://github.com/scummvm/scummvm/commit/80f83e256561d7f8aa80e6eed990871e815af499
Author: Scott Percival (code at moral.net.au)
Date: 2020-05-31T15:04:07+08:00
Commit Message:
DIRECTOR: LINGO: Stop execution when the call stack is empty
Changed paths:
engines/director/lingo/lingo-code.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index a3446ba592..85ad346c2d 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1417,7 +1417,7 @@ void LC::call(Symbol *sym, int nargs) {
}
void LC::c_procret() {
- if (!g_lingo->_callstack.size()) {
+ if (g_lingo->_callstack.size() == 0) {
warning("c_procret: Call stack underflow");
g_lingo->_abort = true;
return;
@@ -1443,6 +1443,12 @@ void LC::c_procret() {
g_lingo->_localvars = fp->localvars;
delete fp;
+
+ if (g_lingo->_callstack.size() == 0) {
+ debugC(5, kDebugLingoExec, "Call stack empty, returning");
+ g_lingo->_abort = true;
+ return;
+ }
}
void LC::c_global() {
More information about the Scummvm-git-logs
mailing list