Maarten Lankhorst : dsound: Fix destruction in duplex.

Alexandre Julliard julliard at winehq.org
Mon Nov 30 10:42:51 CST 2009


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

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Tue Nov 24 14:12:58 2009 +0100

dsound: Fix destruction in duplex.

---

 dlls/dsound/duplex.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/dsound/duplex.c b/dlls/dsound/duplex.c
index 8fbf1d6..7ef83f9 100644
--- a/dlls/dsound/duplex.c
+++ b/dlls/dsound/duplex.c
@@ -109,7 +109,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IUnknown_Release(
     ULONG ref = InterlockedDecrement(&(This->ref));
     TRACE("(%p) ref was %d\n", This, ref + 1);
     if (!ref) {
-        IDirectSound_Release(This->pdsfd->pUnknown);
+        This->pdsfd->pUnknown = NULL;
         HeapFree(GetProcessHeap(), 0, This);
         TRACE("(%p) released\n", This);
     }
@@ -185,7 +185,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IDirectSound_Release(
     ULONG ref = InterlockedDecrement(&(This->ref));
     TRACE("(%p) ref was %d\n", This, ref + 1);
     if (!ref) {
-        IDirectSound_Release(This->pdsfd->pDS);
+        This->pdsfd->pDS = NULL;
         HeapFree(GetProcessHeap(), 0, This);
         TRACE("(%p) released\n", This);
     }
@@ -350,7 +350,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IDirectSound8_Release(
     ULONG ref = InterlockedDecrement(&(This->ref));
     TRACE("(%p) ref was %d\n", This, ref + 1);
     if (!ref) {
-        IDirectSound_Release(This->pdsfd->pDS8);
+        This->pdsfd->pDS8 = NULL;
         HeapFree(GetProcessHeap(), 0, This);
         TRACE("(%p) released\n", This);
     }
@@ -515,7 +515,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IDirectSoundCapture_Release(
     ULONG ref = InterlockedDecrement(&(This->ref));
     TRACE("(%p) ref was %d\n", This, ref + 1);
     if (!ref) {
-        IDirectSoundCapture_Release(This->pdsfd->pDSC);
+        This->pdsfd->pDSC = NULL;
         HeapFree(GetProcessHeap(), 0, This);
         TRACE("(%p) released\n", This);
     }




More information about the wine-cvs mailing list