diff options
author | Chris Robinson <[email protected]> | 2010-03-20 21:49:02 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2010-03-20 21:49:02 -0700 |
commit | 49db3bf9166ccf5193e032acf1d810758fab267f (patch) | |
tree | dd05506256813e2dcceb2eb531707cec7ca69478 /OpenAL32/alDatabuffer.c | |
parent | 99f28f25b07e28415ce58fd552dcadf2a187c3e3 (diff) |
Cleanup and fixup Release* functions
Diffstat (limited to 'OpenAL32/alDatabuffer.c')
-rw-r--r-- | OpenAL32/alDatabuffer.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/OpenAL32/alDatabuffer.c b/OpenAL32/alDatabuffer.c index f13bc34e..df31e6f7 100644 --- a/OpenAL32/alDatabuffer.c +++ b/OpenAL32/alDatabuffer.c @@ -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; } |