[Scummvm-cvs-logs] SF.net SVN: scummvm:[38915] scummvm/trunk/engines/sci/engine

dhewg at users.sourceforge.net dhewg at users.sourceforge.net
Thu Feb 26 22:17:53 CET 2009


Revision: 38915
          http://scummvm.svn.sourceforge.net/scummvm/?rev=38915&view=rev
Author:   dhewg
Date:     2009-02-26 21:17:53 +0000 (Thu, 26 Feb 2009)

Log Message:
-----------
start out with an empty array of file handles, so the Enginestates matches between startup and restart. really check its size before accessing it (fixes LSL3 restart)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/game.cpp
    scummvm/trunk/engines/sci/engine/kfile.cpp

Modified: scummvm/trunk/engines/sci/engine/game.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/game.cpp	2009-02-26 20:08:04 UTC (rev 38914)
+++ scummvm/trunk/engines/sci/engine/game.cpp	2009-02-26 21:17:53 UTC (rev 38915)
@@ -528,8 +528,6 @@
 
 	kernel_opt_flags = 0;
 
-	_fileHandles.resize(5);
-
 	dirseeker = 0;
 
 	execution_stack = 0;

Modified: scummvm/trunk/engines/sci/engine/kfile.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kfile.cpp	2009-02-26 20:08:04 UTC (rev 38914)
+++ scummvm/trunk/engines/sci/engine/kfile.cpp	2009-02-26 21:17:53 UTC (rev 38915)
@@ -379,12 +379,16 @@
 		return;
 	}
 
-	uint retval = 1; // Ignore _fileHandles[0]
+	uint retval = 0;
 	while ((retval < s->_fileHandles.size()) && s->_fileHandles[retval]._file)
 		retval++;
 
-	if (retval == s->_fileHandles.size()) { // Hit size limit => Allocate more space
-		s->_fileHandles.resize(s->_fileHandles.size() + 1);
+	// Ignore _fileHandles[0]
+	if (retval < 1)
+		retval = 1;
+
+	if (retval >= s->_fileHandles.size()) { // Hit size limit => Allocate more space
+		s->_fileHandles.resize(retval + 1);
 	}
 
 	s->_fileHandles[retval]._file = file;


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