- Fixed: Information added with addkeysection and addmenukey was never freed.

- Fixed: A classic decorate FakeInventory's PickupText was never freed.
- Fixed: Colored lights were never freed.
- Fixed: When a dehacked patch was applied, the dehacked StateMap was never
  freed.
- Removed termdone checks around atterm(S_ClearSoundData) and
  atterm(S_Shutdown) because atterm() already checks for duplicates.
- Fixed: S_ClearSoundData() should unload all sounds before it clears S_sfx.
- Fixed: AltSoundRenderer::LoadSound() didn't check if the sound had already
  been loaded and lost the old sound data if it had been.
- Fixed: FinishDehPatch() needlessly duplicated the new DehackedPickup's name.
- Fixed: PatchStrings() allocated a private string and never freed it.


SVN r183 (trunk)
This commit is contained in:
Randy Heit 2006-06-11 01:06:19 +00:00
commit 5859aa7194
9 changed files with 101 additions and 47 deletions

View file

@ -547,6 +547,13 @@ static void S_ClearSoundData()
{
unsigned int i;
if (GSnd != NULL)
{
for (i = 0; i < S_sfx.Size(); ++i)
{
GSnd->UnloadSound (&S_sfx[i]);
}
}
S_sfx.Clear();
for(i = 0; i < countof(Ambients); i++)
@ -584,14 +591,9 @@ static void S_ClearSoundData()
void S_ParseSndInfo ()
{
static bool termdone=false;
int lump;
if (!termdone)
{
termdone=true;
atterm (S_ClearSoundData);
}
atterm (S_ClearSoundData);
S_ClearSoundData(); // remove old sound data first!
CurrentPitchMask = 0;