[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse_sndmgr.cpp,1.38,1.39
Pawel Kolodziejski
aquadran at users.sourceforge.net
Mon Apr 26 12:23:11 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23570/imuse_digi
Modified Files:
dimuse_sndmgr.cpp
Log Message:
locking resource sounds while using them to prevent expire
Index: dimuse_sndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_sndmgr.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- dimuse_sndmgr.cpp 26 Apr 2004 07:47:12 -0000 1.38
+++ dimuse_sndmgr.cpp 26 Apr 2004 19:22:27 -0000 1.39
@@ -91,6 +91,7 @@
_sounds[slot].region = (_region *)malloc(sizeof(_region) * 70);
_sounds[slot].jump = (_jump *)malloc(sizeof(_jump));
_sounds[slot].resPtr = ptr;
+ _vm->lock(rtSound, _sounds[slot].soundId);
_sounds[slot].bits = 8;
_sounds[slot].channels = 1;
@@ -363,6 +364,9 @@
void ImuseDigiSndMgr::closeSound(soundStruct *soundHandle) {
assert(soundHandle && checkForProperHandle(soundHandle));
+ if (soundHandle->resPtr)
+ _vm->unlock(rtSound, soundHandle->soundId);
+
delete soundHandle->bundle;
for (int r = 0; r < soundHandle->numSyncs; r++)
free(soundHandle->sync[r].ptr);
More information about the Scummvm-git-logs
mailing list