[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