[Scummvm-cvs-logs] SF.net SVN: scummvm:[49643] scummvm/trunk/engines/m4

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Mon Jun 14 06:20:58 CEST 2010


Revision: 49643
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49643&view=rev
Author:   dreammaster
Date:     2010-06-14 04:20:57 +0000 (Mon, 14 Jun 2010)

Log Message:
-----------
Fixes for memory leaks reported by Valgrind

Modified Paths:
--------------
    scummvm/trunk/engines/m4/graphics.cpp
    scummvm/trunk/engines/m4/m4.cpp
    scummvm/trunk/engines/m4/mads_scene.cpp
    scummvm/trunk/engines/m4/mads_views.cpp

Modified: scummvm/trunk/engines/m4/graphics.cpp
===================================================================
--- scummvm/trunk/engines/m4/graphics.cpp	2010-06-14 03:15:58 UTC (rev 49642)
+++ scummvm/trunk/engines/m4/graphics.cpp	2010-06-14 04:20:57 UTC (rev 49643)
@@ -74,6 +74,7 @@
 		_madsVm->_palette->deleteRange(_rgbList);
 		delete _rgbList;
 	}
+	free();
 }
 
 void M4Surface::loadCodesM4(Common::SeekableReadStream *source) {

Modified: scummvm/trunk/engines/m4/m4.cpp
===================================================================
--- scummvm/trunk/engines/m4/m4.cpp	2010-06-14 03:15:58 UTC (rev 49642)
+++ scummvm/trunk/engines/m4/m4.cpp	2010-06-14 04:20:57 UTC (rev 49643)
@@ -147,6 +147,7 @@
 	delete _random;
 	delete _palette;
 	delete _globals;
+	delete _sound;
 	delete _resourceManager;
 }
 

Modified: scummvm/trunk/engines/m4/mads_scene.cpp
===================================================================
--- scummvm/trunk/engines/m4/mads_scene.cpp	2010-06-14 03:15:58 UTC (rev 49642)
+++ scummvm/trunk/engines/m4/mads_scene.cpp	2010-06-14 04:20:57 UTC (rev 49643)
@@ -678,7 +678,9 @@
 		Common::String s(buffer2, 64);
 		setNames.push_back(s);
 	}
-	
+
+	delete stream;
+
 	// Initialise a copy of the surfaces if they weren't provided
 	bool dsFlag = false, ssFlag = false;
 	int gfxSize = width * height;
@@ -696,6 +698,7 @@
 		dsFlag = true;
 	}
 
+
 	// For Rex Nebular, read in the scene's compressed walk surface information
 	if (_vm->getGameType() == GType_RexNebular) {
 		assert(depthSurface);
@@ -712,7 +715,7 @@
 			destP += runLength;
 		}
 
-		delete walkData;
+		free(walkData);
 		delete stream;
 	}
 

Modified: scummvm/trunk/engines/m4/mads_views.cpp
===================================================================
--- scummvm/trunk/engines/m4/mads_views.cpp	2010-06-14 03:15:58 UTC (rev 49642)
+++ scummvm/trunk/engines/m4/mads_views.cpp	2010-06-14 04:20:57 UTC (rev 49643)
@@ -270,6 +270,7 @@
 	for (int i = 0; i < TEXT_DISPLAY_SIZE; ++i) {
 		MadsTextDisplayEntry rec;
 		rec.active = false;
+		rec.expire = 0;
 		_entries.push_back(rec);
 	}
 }


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