[PATCH 5/8] dsound: Make capture behave like native in regards to COM aggregation.

Michael Stefaniuc mstefani at redhat.de
Wed Jan 11 17:28:21 CST 2012


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

diff --git a/dlls/dsound/capture.c b/dlls/dsound/capture.c
index 29d34dc..9a94e49 100644
--- a/dlls/dsound/capture.c
+++ b/dlls/dsound/capture.c
@@ -1065,6 +1065,12 @@ static HRESULT WINAPI IDirectSoundCaptureImpl_CreateCaptureBuffer(IDirectSoundCa
 
     TRACE( "(%p,%p,%p,%p)\n",iface,lpcDSCBufferDesc,lplpDSCaptureBuffer,pUnk);
 
+    if (pUnk) {
+        WARN("invalid parameter: pUnk != NULL\n");
+        /* *lplpDSCaptureBuffer = NULL; Not done by native dsound */
+        return DSERR_NOAGGREGATION;
+    }
+
     if (lpcDSCBufferDesc == NULL) {
 	WARN("invalid parameter: lpcDSCBufferDesc == NULL)\n");
 	return DSERR_INVALIDPARAM;
@@ -1270,7 +1276,7 @@ HRESULT WINAPI DirectSoundCaptureCreate(LPCGUID lpcGUID, IDirectSoundCapture **p
 
     if (pUnkOuter) {
 	WARN("invalid parameter: pUnkOuter != NULL\n");
-        *ppDSC = NULL;
+        /* *ppDSC = NULL; Not done by native dsound */
         return DSERR_NOAGGREGATION;
     }
 
-- 
1.7.6.5



More information about the wine-patches mailing list