[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