[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse_bndmgr.cpp,1.40,1.41 dimuse_sndmgr.cpp,1.82,1.83

kirben kirben at users.sourceforge.net
Fri Jan 27 00:40:01 CET 2006


Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1220/scumm/imuse_digi

Modified Files:
	dimuse_bndmgr.cpp dimuse_sndmgr.cpp 
Log Message:
Fix memory leak on exit.


Index: dimuse_bndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_bndmgr.cpp,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- dimuse_bndmgr.cpp	18 Jan 2006 17:39:48 -0000	1.40
+++ dimuse_bndmgr.cpp	27 Jan 2006 08:39:29 -0000	1.41
@@ -32,13 +32,14 @@
 		_budleDirCache[fileId].fileName[0] = 0;
 		_budleDirCache[fileId].numFiles = 0;
 		_budleDirCache[fileId].compressedBun = false;
+		_budleDirCache[fileId].indexTable = NULL;
 	}
 }
 
 BundleDirCache::~BundleDirCache() {
 	for (int fileId = 0; fileId < ARRAYSIZE(_budleDirCache); fileId++) {
-		if (_budleDirCache[fileId].bundleTable != NULL)
-			free (_budleDirCache[fileId].bundleTable);
+		free(_budleDirCache[fileId].bundleTable);
+		free(_budleDirCache[fileId].indexTable);
 	}
 }
 

Index: dimuse_sndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_sndmgr.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -d -r1.82 -r1.83
--- dimuse_sndmgr.cpp	18 Jan 2006 17:39:48 -0000	1.82
+++ dimuse_sndmgr.cpp	27 Jan 2006 08:39:29 -0000	1.83
@@ -48,6 +48,8 @@
 	for (int l = 0; l < MAX_IMUSE_SOUNDS; l++) {
 		closeSound(&_sounds[l]);
 	}
+
+	delete _cacheBundleDir;
 }
 
 void ImuseDigiSndMgr::countElements(byte *ptr, int &numRegions, int &numJumps, int &numSyncs) {





More information about the Scummvm-git-logs mailing list