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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Tue May 6 18:57:07 CEST 2008


Revision: 31902
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31902&view=rev
Author:   lordhoto
Date:     2008-05-06 09:57:07 -0700 (Tue, 06 May 2008)

Log Message:
-----------
- Fixed some memory leaks in kyra3
- Fixed valgrind warnings in GUI_v2 code

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui_v2.cpp
    scummvm/trunk/engines/kyra/kyra_hof.cpp
    scummvm/trunk/engines/kyra/kyra_mr.cpp
    scummvm/trunk/engines/kyra/kyra_v2.cpp
    scummvm/trunk/engines/kyra/scene_mr.cpp

Modified: scummvm/trunk/engines/kyra/gui_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_v2.cpp	2008-05-06 16:48:24 UTC (rev 31901)
+++ scummvm/trunk/engines/kyra/gui_v2.cpp	2008-05-06 16:57:07 UTC (rev 31902)
@@ -43,6 +43,8 @@
 	_scrollUpFunctor = BUTTON_FUNCTOR(GUI_v2, this, &GUI_v2::scrollUpButton);
 	_scrollDownFunctor = BUTTON_FUNCTOR(GUI_v2, this, &GUI_v2::scrollDownButton);
 	_sliderHandlerFunctor = BUTTON_FUNCTOR(GUI_v2, this, &GUI_v2::sliderHandler);
+	_savegameOffset = 0;
+	_isDeleteMenu = false;
 }
 
 Button *GUI_v2::addButtonToList(Button *list, Button *newButton) {

Modified: scummvm/trunk/engines/kyra/kyra_hof.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-05-06 16:48:24 UTC (rev 31901)
+++ scummvm/trunk/engines/kyra/kyra_hof.cpp	2008-05-06 16:57:07 UTC (rev 31902)
@@ -780,8 +780,6 @@
 
 	delete [] _gfxBackUpRect; _gfxBackUpRect = 0;
 
-	delete [] _sceneList; _sceneList = 0;
-
 	for (int i = 0; i < ARRAYSIZE(_sceneAnimMovie); ++i) {
 		delete _sceneAnimMovie[i];
 		_sceneAnimMovie[i] = 0;

Modified: scummvm/trunk/engines/kyra/kyra_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_mr.cpp	2008-05-06 16:48:24 UTC (rev 31901)
+++ scummvm/trunk/engines/kyra/kyra_mr.cpp	2008-05-06 16:57:07 UTC (rev 31902)
@@ -140,6 +140,7 @@
 	_menuDirectlyToLoad = false;
 	_optionsFile = 0;
 	_actorFile = 0;
+	_chatAltFlag = false;
 }
 
 KyraEngine_MR::~KyraEngine_MR() {
@@ -152,6 +153,7 @@
 	delete[] _cCodeFile;
 	delete[] _scenesFile;
 	delete[] _itemFile;
+	delete[] _actorFile;
 	delete[] _gamePlayBuffer;
 	delete[] _interface;
 	delete[] _interfaceCommandLine;
@@ -165,7 +167,6 @@
 
 	delete[] _gfxBackUpRect;
 	delete[] _paletteOverlay;
-	delete[] _sceneList;
 
 	for (ShapeMap::iterator i = _gameShapes.begin(); i != _gameShapes.end(); ++i) {
 		delete[] i->_value;
@@ -552,7 +553,6 @@
 	_stringBuffer = new char[500];	
 	//XXX
 	musicUpdate(0);
-	_costPalBuffer = new uint8[864];
 	//XXX
 	allocAnimObjects(1, 16, 50);
 
@@ -672,7 +672,11 @@
 
 void KyraEngine_MR::loadCostPal() {
 	debugC(9, kDebugLevelMain, "KyraEngine_MR::loadCostPal()");
-	_costPalBuffer = _res->fileData("_COSTPAL.DAT", 0);
+	_res->exists("_COSTPAL.DAT", true);
+	uint32 size = 0;
+	_costPalBuffer = _res->fileData("_COSTPAL.DAT", &size);
+	assert(_costPalBuffer);
+	assert(size == 864);
 }
 
 void KyraEngine_MR::loadShadowShape() {

Modified: scummvm/trunk/engines/kyra/kyra_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-05-06 16:48:24 UTC (rev 31901)
+++ scummvm/trunk/engines/kyra/kyra_v2.cpp	2008-05-06 16:57:07 UTC (rev 31902)
@@ -76,6 +76,7 @@
 	_gameShapes.clear();
 
 	delete[] _itemList;
+	delete[] _sceneList;
 
 	_emc->unload(&_sceneScriptData);
 

Modified: scummvm/trunk/engines/kyra/scene_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_mr.cpp	2008-05-06 16:48:24 UTC (rev 31901)
+++ scummvm/trunk/engines/kyra/scene_mr.cpp	2008-05-06 16:57:07 UTC (rev 31902)
@@ -430,6 +430,8 @@
 		_screen->_curPage = pageBackUp;
 		musicUpdate(0);
 	}
+	delete stream;
+	stream = 0;
 	musicUpdate(0);
 
 	strcpy(filename, scene.filename1);


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