[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse_sndmgr.cpp,1.46,1.47

Pawel Kolodziejski aquadran at users.sourceforge.net
Sat Jun 19 07:42:01 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17029/scummvm/scumm/imuse_digi

Modified Files:
	dimuse_sndmgr.cpp 
Log Message:
experimental fix for expired sounds

Index: dimuse_sndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_sndmgr.cpp,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- dimuse_sndmgr.cpp	1 Jun 2004 20:22:48 -0000	1.46
+++ dimuse_sndmgr.cpp	19 Jun 2004 14:41:04 -0000	1.47
@@ -371,8 +371,15 @@
 void ImuseDigiSndMgr::closeSound(soundStruct *soundHandle) {
 	assert(soundHandle && checkForProperHandle(soundHandle));
 
-	if (soundHandle->resPtr)
-		_vm->unlock(rtSound, soundHandle->soundId);
+	if (soundHandle->resPtr) {
+		bool found = false;
+		for (int l = 0; l < MAX_IMUSE_SOUNDS; l++) {
+			if ((_sounds[l].soundId == soundHandle->soundId) && (&_sounds[l] != soundHandle))
+				found = true;
+		}
+		if (!found)
+			_vm->unlock(rtSound, soundHandle->soundId);
+	}
 
 	delete soundHandle->bundle;
 	for (int r = 0; r < soundHandle->numSyncs; r++)





More information about the Scummvm-git-logs mailing list