[Scummvm-cvs-logs] SF.net SVN: scummvm:[50157] scummvm/trunk/engines/sci/engine/vm.cpp
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Tue Jun 22 20:25:16 CEST 2010
Revision: 50157
http://scummvm.svn.sourceforge.net/scummvm/?rev=50157&view=rev
Author: thebluegr
Date: 2010-06-22 18:25:15 +0000 (Tue, 22 Jun 2010)
Log Message:
-----------
Fixed 2 crashes in QFG1VGA, when dying:
- Ignoring a non-game breaking script bug (modifying the "longSong" object with argc = 2)
- Don't pop the callk stack frame if the stack is empty - fixes a crash when restoring from the death screen
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/vm.cpp
Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp 2010-06-22 17:51:47 UTC (rev 50156)
+++ scummvm/trunk/engines/sci/engine/vm.cpp 2010-06-22 18:25:15 UTC (rev 50157)
@@ -417,6 +417,9 @@
if (!strcmp(objectName, "Sq4GlobalNarrator") && selector == 606) {
// SQ4 has a script bug in the Sq4GlobalNarrator object when invoking the
// returnVal selector, which doesn't affect gameplay, thus don't diplay it
+ } else if (!strcmp(objectName, "longSong") && selector == 3 && g_sci->getGameId() == "qfg1") {
+ // QFG1VGA has a script bug in the longSong object when invoking the
+ // loop selector, which doesn't affect gameplay, thus don't diplay it
} else {
// Unknown script bug, show it
reg_t oldReg = *varp.getPointer(s->_segMan);
@@ -636,8 +639,9 @@
#endif
}
- // Remove callk stack frame again
- s->_executionStack.pop_back();
+ // Remove callk stack frame again, if there's still an execution stack
+ if (s->_executionStack.begin() != s->_executionStack.end())
+ s->_executionStack.pop_back();
} else {
Common::String warningMsg = "Dummy function " + kernelFunc.origName +
Common::String::printf("[0x%x]", kernelFuncNum) +
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list