[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