mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-10 23:01:59 +00:00
- Fixed: Attempting to load 0-length sounds caused a crash.
SVN r1100 (trunk)
This commit is contained in:
parent
fb40f5f711
commit
bb0759f575
2 changed files with 15 additions and 1 deletions
|
@ -1,4 +1,5 @@
|
|||
July 31, 2008
|
||||
- Fixed: Attempting to load 0-length sounds caused a crash.
|
||||
- Removed filename-lowercasing from zipdir.
|
||||
- Fixed: The ouch face fix was lost when SBARINFO mugshot became the only
|
||||
mugshot present.
|
||||
|
|
|
@ -99,6 +99,8 @@ EXTERN_CVAR (Int, snd_samplerate)
|
|||
EXTERN_CVAR (Bool, snd_pitched)
|
||||
EXTERN_CVAR (Int, snd_channels)
|
||||
|
||||
extern int sfx_empty;
|
||||
|
||||
// PUBLIC DATA DEFINITIONS -------------------------------------------------
|
||||
|
||||
ReverbContainer *ForcedEnvironment;
|
||||
|
@ -1991,6 +1993,7 @@ void FMODSoundRenderer::DoLoad(void **slot, sfxinfo_t *sfx)
|
|||
errcount = 0;
|
||||
while (errcount < 2)
|
||||
{
|
||||
sample = NULL;
|
||||
if (sfxdata != NULL)
|
||||
{
|
||||
delete[] sfxdata;
|
||||
|
@ -2052,6 +2055,11 @@ void FMODSoundRenderer::DoLoad(void **slot, sfxinfo_t *sfx)
|
|||
{
|
||||
exinfo.length = size;
|
||||
}
|
||||
if (exinfo.length == 0)
|
||||
{
|
||||
DPrintf("Sample has a length of 0\n");
|
||||
break;
|
||||
}
|
||||
result = Sys->createSound((char *)sfxstart, samplemode, &exinfo, &sample);
|
||||
if (result != FMOD_OK)
|
||||
{
|
||||
|
@ -2094,7 +2102,7 @@ void FMODSoundRenderer::getsfx(sfxinfo_t *sfx)
|
|||
// If the sound doesn't exist, replace it with the empty sound.
|
||||
if (sfx->lumpnum == -1)
|
||||
{
|
||||
sfx->lumpnum = Wads.GetNumForName("dsempty", ns_sounds);
|
||||
sfx->lumpnum = sfx_empty;
|
||||
}
|
||||
|
||||
// See if there is another sound already initialized with this lump. If so,
|
||||
|
@ -2109,6 +2117,11 @@ void FMODSoundRenderer::getsfx(sfxinfo_t *sfx)
|
|||
}
|
||||
}
|
||||
DoLoad(&sfx->data, sfx);
|
||||
// If the sound failed to load, make it the empty sound.
|
||||
if (sfx->data == NULL)
|
||||
{
|
||||
sfx->lumpnum = sfx_empty;
|
||||
}
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
|
|
Loading…
Reference in a new issue