Dan Kegel : dsound: Don't free buffer if it's owned by alsa.

Alexandre Julliard julliard at winehq.org
Sat Jun 21 05:38:44 CDT 2008


Module: wine
Branch: master
Commit: 025457e09be09b7a410feaa462f3d28690f85fba
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=025457e09be09b7a410feaa462f3d28690f85fba

Author: Dan Kegel <dank at kegel.com>
Date:   Fri Jun 20 05:49:15 2008 -0700

dsound: Don't free buffer if it's owned by alsa.

---

 dlls/dsound/dsound.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index cd0861a..87e9bba 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -1282,7 +1282,8 @@ ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
 
         HeapFree(GetProcessHeap(), 0, device->tmp_buffer);
         HeapFree(GetProcessHeap(), 0, device->mix_buffer);
-        HeapFree(GetProcessHeap(), 0, device->buffer);
+        if (device->drvdesc.dwFlags & DSDDESC_USESYSTEMMEMORY)
+            HeapFree(GetProcessHeap(), 0, device->buffer);
         RtlDeleteResource(&device->buffer_list_lock);
         device->mixlock.DebugInfo->Spare[0] = 0;
         DeleteCriticalSection(&device->mixlock);




More information about the wine-cvs mailing list