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

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Thu Jun 7 04:51:10 CEST 2007


Revision: 27160
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27160&view=rev
Author:   Kirben
Date:     2007-06-06 19:51:09 -0700 (Wed, 06 Jun 2007)

Log Message:
-----------
Fix memory leaks on when quiting game.

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

Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp	2007-06-07 02:45:19 UTC (rev 27159)
+++ scummvm/trunk/engines/agos/agos.cpp	2007-06-07 02:51:09 UTC (rev 27160)
@@ -901,6 +901,7 @@
 }
 
 AGOSEngine::~AGOSEngine() {
+	// Sync with AGOSEngine::shutdown()
 	delete _gameFile;
 
 	_midi.close();
@@ -1033,19 +1034,44 @@
 }
 
 void AGOSEngine::shutdown() {
+	// Sync with AGOSEngine::~AGOSEngine()
 	delete _gameFile;
 
 	_midi.close();
 
-	free(_stringTabPtr);
-	free(_itemArrayPtr);
 	free(_itemHeapPtr - _itemHeapCurPos);
 	free(_tablesHeapPtr - _tablesHeapCurPos);
+
+	free(_gameOffsetsPtr);
+	free(_iconFilePtr);
+	free(_itemArrayPtr);
+	free(_stringTabPtr);
+	free(_strippedTxtMem);
 	free(_tblList);
-	free(_zoneBuffers);
-	free(_iconFilePtr);
-	free(_gameOffsetsPtr);
+	free(_textMem);
 
+	free(_backGroundBuf);
+	free(_frontBuf);
+	free(_backBuf);
+	free(_scaleBuf);
+
+	free(_window4BackScn);
+	free(_window6BackScn);
+
+	free(_variableArray);
+	free(_variableArray2);
+
+	delete _dummyItem1;
+	delete _dummyItem2;
+	delete _dummyItem3;
+
+	delete [] _dummyWindow;
+	delete [] _windowList;
+
+	delete _debugger;
+	delete _moviePlay;
+	delete _sound;
+
 	_system->quit();
 }
 


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