[Scummvm-cvs-logs] SF.net SVN: scummvm: [21013] scummvm/trunk/engines/saga

h00ligan at users.sourceforge.net h00ligan at users.sourceforge.net
Thu Mar 2 10:29:12 CET 2006


Revision: 21013
Author:   h00ligan
Date:     2006-03-02 10:25:56 -0800 (Thu, 02 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm?rev=21013&view=rev

Log Message:
-----------
apply CYX mem-leak fix patch

Modified Paths:
--------------
    scummvm/trunk/engines/saga/music.cpp
    scummvm/trunk/engines/saga/music.h
    scummvm/trunk/engines/saga/rscfile.cpp
Modified: scummvm/trunk/engines/saga/music.cpp
===================================================================
--- scummvm/trunk/engines/saga/music.cpp	2006-03-02 16:14:46 UTC (rev 21012)
+++ scummvm/trunk/engines/saga/music.cpp	2006-03-02 18:25:56 UTC (rev 21013)
@@ -305,6 +305,8 @@
 	_songTable = 0;
 
 	_track = NULL;
+
+	_midiMusicData = NULL;
 }
 
 Music::~Music() {
@@ -316,6 +318,7 @@
 	delete smfParser;
 
 	free(_songTable);
+	free(_midiMusicData);
 }
 
 void Music::musicVolumeGaugeCallback(void *refCon) {
@@ -432,7 +435,6 @@
 		flags = MUSIC_NORMAL;
 	}
 
-	// FIXME: Is resource_data ever freed?
 	// Load MIDI/XMI resource data
 
 	if (_vm->getGameType() == GType_ITE) {
@@ -506,6 +508,8 @@
 		_player->setLoop(false);
 
 	_player->playMusic();
+	free(_midiMusicData);
+	_midiMusicData = resourceData;
 }
 
 void Music::pause(void) {

Modified: scummvm/trunk/engines/saga/music.h
===================================================================
--- scummvm/trunk/engines/saga/music.h	2006-03-02 16:14:46 UTC (rev 21012)
+++ scummvm/trunk/engines/saga/music.h	2006-03-02 18:25:56 UTC (rev 21013)
@@ -92,7 +92,7 @@
 
 	byte *_musicData;
 	uint16 *_buf;
-	uint32 _musicDataSize;
+	size_t _musicDataSize;
 };
 
 class Music {
@@ -139,6 +139,8 @@
 
 	DigitalTrackInfo *_track;
 
+	byte *_midiMusicData;
+
 	static void musicVolumeGaugeCallback(void *refCon);
 	void musicVolumeGauge(void);
 };

Modified: scummvm/trunk/engines/saga/rscfile.cpp
===================================================================
--- scummvm/trunk/engines/saga/rscfile.cpp	2006-03-02 16:14:46 UTC (rev 21012)
+++ scummvm/trunk/engines/saga/rscfile.cpp	2006-03-02 18:25:56 UTC (rev 21013)
@@ -313,7 +313,7 @@
 			subjectResourceData->offset = resourceData->offset;
 			subjectResourceData->size = resourceData->size;
 		}
-
+		free(tableBuffer);
 	}
 
 	//process external patch files







More information about the Scummvm-git-logs mailing list