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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Tue May 6 19:30:32 CEST 2008


Revision: 31903
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31903&view=rev
Author:   lordhoto
Date:     2008-05-06 10:30:31 -0700 (Tue, 06 May 2008)

Log Message:
-----------
- Fixed valgrind warnings in HoF
- Fixed memory leaks in HoF

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/kyra_hof.cpp
    scummvm/trunk/engines/kyra/sequences_hof.cpp
    scummvm/trunk/engines/kyra/staticres.cpp

Modified: scummvm/trunk/engines/kyra/kyra_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-05-06 16:57:07 UTC (rev 31902)
+++ scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-05-06 17:30:31 UTC (rev 31903)
@@ -140,6 +140,8 @@
 
 	_menuDirectlyToLoad = false;
 	_menu = 0;
+	_chatIsNote = false;
+	memset(&_npcScriptData, 0, sizeof(_npcScriptData));
 }
 
 KyraEngine_HoF::~KyraEngine_HoF() {
@@ -792,6 +794,8 @@
 		delete [] _buttonShapes[i];
 		_buttonShapes[i] = 0;
 	}
+
+	_emc->unload(&_npcScriptData);
 }
 
 #pragma mark - Localization
@@ -1006,7 +1010,7 @@
 	_screen->loadBitmap("_MOUSE.CSH", 3, 3, 0);
 
 	for (int i = 0; i <= 8; ++i)
-		addShapeToPool(_screen->makeShapeCopy(_screen->getCPagePtr(3), i), i);
+		addShapeToPool(_screen->getCPagePtr(3), i, i);
 }
 
 void KyraEngine_HoF::loadItemShapes() {
@@ -1068,6 +1072,8 @@
 }
 
 void KyraEngine_HoF::loadNPCScript() {
+	_emc->unload(&_npcScriptData);
+
 	char filename[12];
 	strcpy(filename, "_NPC.EMC");
 

Modified: scummvm/trunk/engines/kyra/sequences_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_hof.cpp	2008-05-06 16:57:07 UTC (rev 31902)
+++ scummvm/trunk/engines/kyra/sequences_hof.cpp	2008-05-06 17:30:31 UTC (rev 31903)
@@ -2665,8 +2665,6 @@
 	if (_flags.isDemo && !_flags.isTalkie)
 		_staticres->unloadId(k2SeqplayShapeAnimData);
 
-	_gameShapes.clear();
-
 	delete _menu;
 	_menu = 0;
 }

Modified: scummvm/trunk/engines/kyra/staticres.cpp
===================================================================
--- scummvm/trunk/engines/kyra/staticres.cpp	2008-05-06 16:57:07 UTC (rev 31902)
+++ scummvm/trunk/engines/kyra/staticres.cpp	2008-05-06 17:30:31 UTC (rev 31903)
@@ -831,7 +831,8 @@
 void StaticResource::freeStringTable(void *&ptr, int &size) {
 	char **data = (char**)ptr;
 	while (size--)
-		delete [] data[size];
+		delete[] data[size];
+	delete[] data;
 	ptr = 0;
 	size = 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