[Scummvm-cvs-logs] SF.net SVN: scummvm: [30501] scummvm/trunk/engines/scumm/imuse_digi

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Tue Jan 15 21:30:48 CET 2008


Revision: 30501
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30501&view=rev
Author:   eriktorbjorn
Date:     2008-01-15 12:30:48 -0800 (Tue, 15 Jan 2008)

Log Message:
-----------
Since the mixer uses 'delete' to free memory, we should allocate it with 'new'.
I don't know if I got all cases, but I no longer get any Valgrind warnings at
the beginning of CoMI when using the original sound/music files.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_bndmgr.cpp
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_codecs.cpp
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_sndmgr.cpp

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2008-01-15 20:11:28 UTC (rev 30500)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2008-01-15 20:30:48 UTC (rev 30501)
@@ -302,7 +302,7 @@
 						int tmpFeedSize = _sound->getDataFromRegion(track->soundDesc, track->curRegion, &tmpPtr, tmpOffset, tmpFeedSize12Bits);
 						curFeedSize = BundleCodecs::decode12BitsSample(tmpPtr, &tmpSndBufferPtr, tmpFeedSize);
 
-						free(tmpPtr);
+						delete[] tmpPtr;
 					} else if (bits == 16) {
 						curFeedSize = _sound->getDataFromRegion(track->soundDesc, track->curRegion, &tmpSndBufferPtr, track->regionOffset, feedSize);
 						if (channels == 1) {

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_bndmgr.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_bndmgr.cpp	2008-01-15 20:11:28 UTC (rev 30500)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_bndmgr.cpp	2008-01-15 20:30:48 UTC (rev 30501)
@@ -281,7 +281,7 @@
 		lastBlock = _numCompItems - 1;
 
 	int32 blocksFinalSize = 0x2000 * (1 + lastBlock - firstBlock);
-	*compFinal = (byte *)malloc(blocksFinalSize);
+	*compFinal = new byte[blocksFinalSize];
 	assert(*compFinal);
 	finalSize = 0;
 

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_codecs.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_codecs.cpp	2008-01-15 20:11:28 UTC (rev 30500)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_codecs.cpp	2008-01-15 20:30:48 UTC (rev 30501)
@@ -34,7 +34,7 @@
 uint32 decode12BitsSample(const byte *src, byte **dst, uint32 size) {
 	uint32 loop_size = size / 3;
 	uint32 s_size = loop_size * 4;
-	byte *ptr = *dst = (byte *)malloc(s_size);
+	byte *ptr = *dst = new byte[s_size];
 	assert(ptr);
 
 	uint32 tmp;

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_sndmgr.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_sndmgr.cpp	2008-01-15 20:11:28 UTC (rev 30500)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_sndmgr.cpp	2008-01-15 20:30:48 UTC (rev 30501)
@@ -461,7 +461,7 @@
 	sound->disk = _disk;
 	prepareSound(ptr, sound);
 	if ((soundType == IMUSE_BUNDLE) && !sound->compressed) {
-		free(ptr);
+		delete[] ptr;
 	}
 	return sound;
 }


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