[PATCH 3/4 v2] dsound: A version 1 3d secondary buffer allows SetPan().

Michael Stefaniuc mstefani at redhat.de
Tue Dec 1 07:49:04 CST 2015


For version 8 DSBCAPS_CTRL3D and DSBCAPS_CTRLPAN are mutually exclusive
and a sound buffer cannot be created when both flags are set.

Fixes https://bugs.winehq.org/show_bug.cgi?id=15866

Signed-off-by: Michael Stefaniuc <mstefani at redhat.de>
---
 dlls/dsound/buffer.c     | 4 +---
 dlls/dsound/tests/ds3d.c | 1 -
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index d735dc3..5aa2834 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -586,9 +586,7 @@ static HRESULT WINAPI IDirectSoundBufferImpl_SetPan(IDirectSoundBuffer8 *iface,
 		return DSERR_INVALIDPARAM;
 	}
 
-	/* You cannot use both pan and 3D controls */
-	if (!(This->dsbd.dwFlags & DSBCAPS_CTRLPAN) ||
-	    (This->dsbd.dwFlags & DSBCAPS_CTRL3D)) {
+	if (!(This->dsbd.dwFlags & DSBCAPS_CTRLPAN)) {
 		WARN("control unavailable\n");
 		return DSERR_CONTROLUNAVAIL;
 	}
diff --git a/dlls/dsound/tests/ds3d.c b/dlls/dsound/tests/ds3d.c
index 1a019dd..6c12f71 100644
--- a/dlls/dsound/tests/ds3d.c
+++ b/dlls/dsound/tests/ds3d.c
@@ -892,7 +892,6 @@ static HRESULT test_secondary(LPGUID lpGuid, int play,
                 rc=IDirectSoundBuffer_GetPan(secondary,&pan);
                 ok(rc==DS_OK,"IDirectSoundBuffer_GetPan() failed, returned: %08x\n", rc);
                 rc=IDirectSoundBuffer_SetPan(secondary,0);
-                todo_wine
                 ok(rc==DS_OK,"IDirectSoundBuffer_SetPan() failed, returned: %08x\n", rc);
             }
 
-- 
2.1.0



More information about the wine-patches mailing list