[Scummvm-cvs-logs] SF.net SVN: scummvm:[48783] scummvm/trunk/engines/sci/engine/script.cpp
waltervn at users.sourceforge.net
waltervn at users.sourceforge.net
Sat Apr 24 16:10:53 CEST 2010
Revision: 48783
http://scummvm.svn.sourceforge.net/scummvm/?rev=48783&view=rev
Author: waltervn
Date: 2010-04-24 14:10:52 +0000 (Sat, 24 Apr 2010)
Log Message:
-----------
SCI: Fix regression in locals init for re-used segments
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/script.cpp
Modified: scummvm/trunk/engines/sci/engine/script.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/script.cpp 2010-04-24 12:53:14 UTC (rev 48782)
+++ scummvm/trunk/engines/sci/engine/script.cpp 2010-04-24 14:10:52 UTC (rev 48783)
@@ -167,7 +167,11 @@
scr->_localsOffset = -count * 2; // Make sure it's invalid
- allocLocalsSegment(scr, count);
+ LocalVariables *locals = allocLocalsSegment(scr, count);
+ if (locals) {
+ for (int i = 0; i < count; i++)
+ locals->_locals[i] = NULL_REG;
+ }
}
void SegManager::scriptInitialiseLocals(reg_t location) {
@@ -195,7 +199,7 @@
byte *base = (byte *)(scr->_buf + location.offset);
for (i = 0; i < count; i++)
- locals->_locals[i].offset = READ_LE_UINT16(base + i * 2);
+ locals->_locals[i] = make_reg(0, READ_LE_UINT16(base + i * 2));
}
}
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