Cleanup and fixup Release* functions

This commit is contained in:
Chris Robinson
2010-03-20 21:49:02 -07:00
parent 99f28f25b0
commit 49db3bf916
5 changed files with 27 additions and 36 deletions
+2 -3
View File
@@ -527,10 +527,9 @@ ALvoid ReleaseALAuxiliaryEffectSlots(ALCcontext *Context)
Context->EffectSlotList = temp->next;
// Release effectslot structure
if(temp->EffectState)
ALEffect_Destroy(temp->EffectState);
ALTHUNK_REMOVEENTRY(temp->effectslot);
ALEffect_Destroy(temp->EffectState);
ALTHUNK_REMOVEENTRY(temp->effectslot);
memset(temp, 0, sizeof(ALeffectslot));
free(temp);
}
+8 -11
View File
@@ -1274,21 +1274,18 @@ static void ConvertDataMULawRear(ALfloat *dst, const ALvoid *src, ALsizei len)
*/
ALvoid ReleaseALBuffers(ALCdevice *device)
{
ALbuffer *ALBuffer;
ALbuffer *ALBufferTemp;
ALBuffer = device->BufferList;
while(ALBuffer)
while(device->BufferList)
{
ALbuffer *temp = device->BufferList;
device->BufferList = temp->next;
// Release sample data
free(ALBuffer->data);
free(temp->data);
// Release Buffer structure
ALBufferTemp = ALBuffer;
ALBuffer = ALBuffer->next;
memset(ALBufferTemp, 0, sizeof(ALbuffer));
free(ALBufferTemp);
ALTHUNK_REMOVEENTRY(temp->buffer);
memset(temp, 0, sizeof(ALbuffer));
free(temp);
}
device->BufferList = NULL;
device->BufferCount = 0;
}
+9 -12
View File
@@ -650,21 +650,18 @@ ALvoid AL_APIENTRY alUnmapDatabufferEXT(ALuint uiBuffer)
*/
ALvoid ReleaseALDatabuffers(ALCdevice *device)
{
ALdatabuffer *ALBuffer;
ALdatabuffer *ALBufferTemp;
ALBuffer = device->DatabufferList;
while(ALBuffer)
while(device->DatabufferList)
{
// Release sample data
free(ALBuffer->data);
ALdatabuffer *temp = device->DatabufferList;
device->DatabufferList = temp->next;
// Release buffer data
free(temp->data);
// Release Buffer structure
ALBufferTemp = ALBuffer;
ALBuffer = ALBuffer->next;
memset(ALBufferTemp, 0, sizeof(ALdatabuffer));
free(ALBufferTemp);
ALTHUNK_REMOVEENTRY(temp->databuffer);
memset(temp, 0, sizeof(ALdatabuffer));
free(temp);
}
device->DatabufferList = NULL;
device->DatabufferCount = 0;
}
+4 -5
View File
@@ -1181,17 +1181,16 @@ ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues
ALvoid ReleaseALEffects(ALCdevice *device)
{
ALeffect *list = device->EffectList;
while(list)
while(device->EffectList)
{
ALeffect *temp = list;
list = list->next;
ALeffect *temp = device->EffectList;
device->EffectList = temp->next;
// Release effect structure
ALTHUNK_REMOVEENTRY(temp->effect);
memset(temp, 0, sizeof(ALeffect));
free(temp);
}
device->EffectList = NULL;
device->EffectCount = 0;
}
+4 -5
View File
@@ -423,17 +423,16 @@ ALvoid AL_APIENTRY alGetFilterfv(ALuint filter, ALenum param, ALfloat *pflValues
ALvoid ReleaseALFilters(ALCdevice *device)
{
ALfilter *list = device->FilterList;
while(list)
while(device->FilterList)
{
ALfilter *temp = list;
list = list->next;
ALfilter *temp = device->FilterList;
device->FilterList = temp->next;
// Release filter structure
ALTHUNK_REMOVEENTRY(temp->filter);
memset(temp, 0, sizeof(ALfilter));
free(temp);
}
device->FilterList = NULL;
device->FilterCount = 0;
}