[Scummvm-cvs-logs] SF.net SVN: scummvm:[55558] scummvm/trunk/engines/agos/agos.cpp

tdhs at users.sourceforge.net tdhs at users.sourceforge.net
Thu Jan 27 03:57:09 CET 2011


Revision: 55558
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55558&view=rev
Author:   tdhs
Date:     2011-01-27 02:57:07 +0000 (Thu, 27 Jan 2011)

Log Message:
-----------
AGOS: Fix Memory Leaks when playing Simon 2 Win.

These were identified with Valgrind.

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.cpp

Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp	2011-01-26 23:18:26 UTC (rev 55557)
+++ scummvm/trunk/engines/agos/agos.cpp	2011-01-27 02:57:07 UTC (rev 55558)
@@ -895,10 +895,6 @@
 }
 
 AGOSEngine::~AGOSEngine() {
-	// In Simon 2, this gets deleted along with _sound further down
-	if (getGameType() != GType_SIMON2)
-		delete _gameFile;
-
 	_midi.close();
 	delete _driver;
 
@@ -925,14 +921,20 @@
 	free(_textMem);
 	free(_xtblList);
 
+	if (_backGroundBuf)
+		_backGroundBuf->free();
 	delete _backGroundBuf;
 	delete _backBuf;
 	free(_planarBuf);
 	delete _scaleBuf;
 	free(_zoneBuffers);
 
-	free(_window4BackScn);
-	free(_window6BackScn);
+	if (_window4BackScn)
+		_window4BackScn->free();
+	delete _window4BackScn;
+	if (_window6BackScn)
+		_window6BackScn->free();
+	delete _window6BackScn;
 
 	free(_firstTimeStruct);
 	free(_pendingDeleteTimeEvent);
@@ -949,6 +951,7 @@
 
 	delete _debugger;
 	delete _sound;
+	delete _gameFile;
 }
 
 GUI::Debugger *AGOSEngine::getDebugger() {


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