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

Pawel Kolodziejski aquadran at users.sourceforge.net
Sat Apr 24 08:34:10 CEST 2004


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

Modified Files:
	dimuse_sndmgr.cpp 
Log Message:
free slot and return NULL when it can't open bundle file

Index: dimuse_sndmgr.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_sndmgr.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- dimuse_sndmgr.cpp	11 Apr 2004 14:48:50 -0000	1.34
+++ dimuse_sndmgr.cpp	24 Apr 2004 15:33:36 -0000	1.35
@@ -307,6 +307,10 @@
 				result = openMusicBundle(slot);
 			else
 				error("ImuseDigiSndMgr::openSound() Don't know how load sound: %d", soundId);
+			if (!result) {
+				closeSound(&_sounds[slot]);
+				return NULL;
+			}
 			_sounds[slot].bundle->decompressSampleByIndex(soundId, 0, 0x2000, &ptr, 0, header_outside);
 			_sounds[slot].soundId = soundId;
 			_sounds[slot].type = soundType;
@@ -323,6 +327,10 @@
 				result = openMusicBundle(slot);
 			else
 				error("ImuseDigiSndMgr::openSound() Don't know how load sound: %d", soundId);
+			if (!result) {
+				closeSound(&_sounds[slot]);
+				return NULL;
+			}
 			_sounds[slot].bundle->decompressSampleByName(soundName, 0, 0x2000, &ptr, header_outside);
 			strcpy(_sounds[slot].name, soundName);
 			_sounds[slot].soundId = soundId;





More information about the Scummvm-git-logs mailing list