From 097be5a093a6332f213585fae52c1993630fa42d Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Mon, 7 May 2007 14:03:36 +0000 Subject: [PATCH] fix file handle leak --- libs/audio/renderer/snd_channels.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libs/audio/renderer/snd_channels.c b/libs/audio/renderer/snd_channels.c index 9f2aff704..d1c868824 100644 --- a/libs/audio/renderer/snd_channels.c +++ b/libs/audio/renderer/snd_channels.c @@ -161,13 +161,6 @@ SND_ScanChannels (int wait) #endif } while (count); Sys_DPrintf ("scanning done.\n"); - for (i = 0; i < MAX_CHANNELS; i++) { - ch = &snd_channels[i]; - if (!ch->sfx) - continue; - ch->sfx->release (ch->sfx); - ch->sfx = 0; - } } else { for (i = 0; i < MAX_CHANNELS; i++) { ch = &snd_channels[i]; @@ -178,6 +171,14 @@ SND_ScanChannels (int wait) } //printf ("count: %d\n", count); } + for (i = 0; i < MAX_CHANNELS; i++) { + ch = &snd_channels[i]; + if (!ch->sfx || !ch->done) + continue; + ch->sfx->release (ch->sfx); + ch->sfx->close (ch->sfx); + ch->sfx = 0; + } } void