[Scummvm-cvs-logs] SF.net SVN: scummvm:[45572] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sat Oct 31 19:32:20 CET 2009


Revision: 45572
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45572&view=rev
Author:   lordhoto
Date:     2009-10-31 18:32:17 +0000 (Sat, 31 Oct 2009)

Log Message:
-----------
Fix some memory leaks in Kyrandia 1 (this hopefully fixes crashes on NDS after a long playtime).

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/seqplayer.cpp
    scummvm/trunk/engines/kyra/sprites.cpp

Modified: scummvm/trunk/engines/kyra/seqplayer.cpp
===================================================================
--- scummvm/trunk/engines/kyra/seqplayer.cpp	2009-10-31 18:26:31 UTC (rev 45571)
+++ scummvm/trunk/engines/kyra/seqplayer.cpp	2009-10-31 18:32:17 UTC (rev 45572)
@@ -655,6 +655,11 @@
 	}
 	delete[] _specialBuffer;
 	_specialBuffer = 0;
+	
+	for (uint i = 0; i < ARRAYSIZE(_seqMovies); ++i) {
+		delete _seqMovies[i].movie;
+		_seqMovies[i].movie = 0;
+	}
 	return seqSkippedFlag;
 }
 

Modified: scummvm/trunk/engines/kyra/sprites.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sprites.cpp	2009-10-31 18:26:31 UTC (rev 45571)
+++ scummvm/trunk/engines/kyra/sprites.cpp	2009-10-31 18:32:17 UTC (rev 45572)
@@ -65,10 +65,8 @@
 	uint8 *data;
 
 	for (int i = 0; i < MAX_NUM_ANIMS; i++) {
-		if (_anims[i].background) {
-			delete[] _anims[i].background;
-			_anims[i].background = 0;
-		}
+		delete[] _anims[i].background;
+		_anims[i].background = 0;
 
 		if (_anims[i].script != 0) {
 			data = _anims[i].script;
@@ -407,6 +405,9 @@
 	_res->exists(filename, true);
 	_dat = _res->fileData(filename, &fileSize);
 
+	for (uint i = 0; i < MAX_NUM_ANIMS; ++i)
+		delete[] _anims[i].background;
+
 	memset(_anims, 0, sizeof(_anims));
 	uint8 nextAnim = 0;
 


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