On Fri, May 02, 2003 at 06:33:24PM -0400, Robert Reif wrote: > The real bug is in the class factory. 0 should be passed rather > than the class id. Look at the capture part a few lines below it. > Passing 0 or NULL will select the default device. 'k, fixed now. Lionel -- Lionel Ulmer - http://www.bbrox.org/
Index: dlls/dsound/dsound_main.c =================================================================== RCS file: /home/wine/wine/dlls/dsound/dsound_main.c,v retrieving revision 1.81 diff -u -r1.81 dsound_main.c --- dlls/dsound/dsound_main.c 2 May 2003 21:22:49 -0000 1.81 +++ dlls/dsound/dsound_main.c 3 May 2003 08:18:31 -0000 @@ -760,10 +760,7 @@ setup_dsound_options(); /* Default device? */ - if ( !lpcGUID || - IsEqualGUID(lpcGUID, &GUID_NULL) || - IsEqualGUID(lpcGUID, &IID_IDirectSound) || - IsEqualGUID(lpcGUID, &IID_IDirectSound8)) + if (!lpcGUID || IsEqualGUID(lpcGUID, &GUID_NULL)) lpcGUID = &DSDEVID_DefaultPlayback; if (GetDeviceID(lpcGUID, &devGuid) != DS_OK) { @@ -959,7 +956,7 @@ if ( IsEqualGUID( &IID_IDirectSound, riid ) || IsEqualGUID( &IID_IDirectSound8, riid ) ) { /* FIXME: reuse already created dsound if present? */ - return DirectSoundCreate8(riid,(LPDIRECTSOUND8*)ppobj,pOuter); + return DirectSoundCreate8(0,(LPDIRECTSOUND8*)ppobj,pOuter); } if ( IsEqualGUID( &IID_IDirectSoundCapture, riid ) || IsEqualGUID( &IID_IDirectSoundCapture8, riid ) ) {