diff options
| author | Torbjörn Andersson | 2005-06-15 20:07:56 +0000 |
|---|---|---|
| committer | Torbjörn Andersson | 2005-06-15 20:07:56 +0000 |
| commit | b5b4d3d99764724dce7f0ad7061c05e5ccbfcf76 (patch) | |
| tree | dcd53748a4c4296a0117a683f558eb3ce8ad5c22 | |
| parent | 1e2131d0eec4a4cc828cb21c329912d427823053 (diff) | |
| download | scummvm-rg350-b5b4d3d99764724dce7f0ad7061c05e5ccbfcf76.tar.gz scummvm-rg350-b5b4d3d99764724dce7f0ad7061c05e5ccbfcf76.tar.bz2 scummvm-rg350-b5b4d3d99764724dce7f0ad7061c05e5ccbfcf76.zip | |
Don't access the thread after sfScriptGotoScene. As the comment points out,
the thread has been destroyed. This fixes a crash when leaving the ferret
guild lodge, and probably other places as well.
svn-id: r18399
| -rw-r--r-- | saga/sthread.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/saga/sthread.cpp b/saga/sthread.cpp index 19cbbdb91f..24815040d5 100644 --- a/saga/sthread.cpp +++ b/saga/sthread.cpp @@ -347,12 +347,12 @@ bool Script::runThread(ScriptThread *thread, uint instructionLimit) { (this->*scriptFunction)(thread, argumentsCount); - thread->_stackTopIndex = checkStackTopIndex; - if (scriptFunction == &Saga::Script::sfScriptGotoScene) { return true; // cause abortAllThreads called and _this_ thread destroyed } + thread->_stackTopIndex = checkStackTopIndex; + if (operandChar == opCcall) {// CALL function thread->push(thread->_returnValue); } |
