dsound/tests: Test querying for KsPropertySet on primary buffer.
authorAlexander Nicolaysen Sørnes <alex@thehandofagony.com>
Sun, 14 Feb 2010 23:59:27 +0000 (00:59 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 15 Feb 2010 11:20:01 +0000 (12:20 +0100)
dlls/dsound/tests/ds3d.c

index 8ae0efad1e701d88704ce08dd9b348fb412477d6..ad380d863a235ab734e3316eedb3c7e40c646b2d 100644 (file)
@@ -1158,13 +1158,12 @@ static HRESULT test_primary_3d_with_listener(LPGUID lpGuid)
        "to create a 3D primary buffer: %08x\n",rc);
     if (rc==DS_OK && primary!=NULL) {
         LPDIRECTSOUND3DLISTENER listener=NULL;
+        LPDIRECTSOUNDBUFFER temp_buffer=NULL;
         rc=IDirectSoundBuffer_QueryInterface(primary,
             &IID_IDirectSound3DListener,(void **)&listener);
         ok(rc==DS_OK && listener!=NULL,"IDirectSoundBuffer_QueryInterface() "
            "failed to get a 3D listener: %08x\n",rc);
         if (rc==DS_OK && listener!=NULL) {
-            LPDIRECTSOUNDBUFFER temp_buffer=NULL;
-
             /* Checking the COM interface */
             rc=IDirectSoundBuffer_QueryInterface(primary,
                 &IID_IDirectSoundBuffer,(LPVOID *)&temp_buffer);
@@ -1213,6 +1212,16 @@ static HRESULT test_primary_3d_with_listener(LPGUID lpGuid)
                "references, should have 0\n",ref);
         }
 
+        todo_wine {
+            temp_buffer = NULL;
+            rc=IDirectSoundBuffer_QueryInterface(primary,
+            &IID_IKsPropertySet,(LPVOID *)&temp_buffer);
+            ok(rc==DS_OK && temp_buffer!=NULL,
+            "IDirectSoundBuffer_QueryInterface didn't handle IKsPropertySet on primary buffer: ret = %08x\n", rc);
+            if(temp_buffer)
+                IKsPropertySet_Release(temp_buffer);
+        }
+
         /* Testing the reference counting */
         ref=IDirectSoundBuffer_Release(primary);
         ok(ref==0,"IDirectSoundBuffer_Release() primary has %d references, "