H. Verbeet : d3d9: Fix QueryInterface.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jun 7 09:13:44 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 34e2e2bd39e32d27699b962634cfc98cd36340b4
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=34e2e2bd39e32d27699b962634cfc98cd36340b4

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Wed Jun  7 15:13:29 2006 +0200

d3d9: Fix QueryInterface.

QueryInterface should return S_OK on success and set the object
pointer to NULL on failure. This is similar to the patch Ivan
submitted a while ago for wined3d.

---

 dlls/d3d9/basetexture.c       |    3 ++-
 dlls/d3d9/cubetexture.c       |    3 ++-
 dlls/d3d9/device.c            |    3 ++-
 dlls/d3d9/directx.c           |    3 ++-
 dlls/d3d9/indexbuffer.c       |    3 ++-
 dlls/d3d9/pixelshader.c       |    3 ++-
 dlls/d3d9/query.c             |    3 ++-
 dlls/d3d9/resource.c          |    3 ++-
 dlls/d3d9/stateblock.c        |    3 ++-
 dlls/d3d9/surface.c           |    3 ++-
 dlls/d3d9/swapchain.c         |    3 ++-
 dlls/d3d9/texture.c           |    3 ++-
 dlls/d3d9/vertexbuffer.c      |    3 ++-
 dlls/d3d9/vertexdeclaration.c |    3 ++-
 dlls/d3d9/vertexshader.c      |    3 ++-
 dlls/d3d9/volume.c            |    3 ++-
 dlls/d3d9/volumetexture.c     |    3 ++-
 17 files changed, 34 insertions(+), 17 deletions(-)

diff --git a/dlls/d3d9/basetexture.c b/dlls/d3d9/basetexture.c
index 29e6b8b..910862b 100644
--- a/dlls/d3d9/basetexture.c
+++ b/dlls/d3d9/basetexture.c
@@ -33,10 +33,11 @@ HRESULT WINAPI IDirect3DBaseTexture9Impl
         || IsEqualGUID(riid, &IID_IDirect3DBaseTexture9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/cubetexture.c b/dlls/d3d9/cubetexture.c
index 2594147..21464f9 100644
--- a/dlls/d3d9/cubetexture.c
+++ b/dlls/d3d9/cubetexture.c
@@ -35,10 +35,11 @@ HRESULT WINAPI IDirect3DCubeTexture9Impl
         || IsEqualGUID(riid, &IID_IDirect3DCubeTexture9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index c6f0527..34973ce 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -34,10 +34,11 @@ HRESULT WINAPI IDirect3DDevice9Impl_Quer
         || IsEqualGUID(riid, &IID_IDirect3DDevice9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/directx.c b/dlls/d3d9/directx.c
index 808af0a..2c20967 100644
--- a/dlls/d3d9/directx.c
+++ b/dlls/d3d9/directx.c
@@ -33,10 +33,11 @@ HRESULT WINAPI IDirect3D9Impl_QueryInter
         || IsEqualGUID(riid, &IID_IDirect3D9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/indexbuffer.c b/dlls/d3d9/indexbuffer.c
index a780237..a46831e 100644
--- a/dlls/d3d9/indexbuffer.c
+++ b/dlls/d3d9/indexbuffer.c
@@ -33,10 +33,11 @@ HRESULT WINAPI IDirect3DIndexBuffer9Impl
         || IsEqualGUID(riid, &IID_IDirect3DIndexBuffer9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/pixelshader.c b/dlls/d3d9/pixelshader.c
index fce6590..4be4ca0 100644
--- a/dlls/d3d9/pixelshader.c
+++ b/dlls/d3d9/pixelshader.c
@@ -32,10 +32,11 @@ HRESULT WINAPI IDirect3DPixelShader9Impl
         || IsEqualGUID(riid, &IID_IDirect3DPixelShader9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/query.c b/dlls/d3d9/query.c
index 0752902..22de219 100644
--- a/dlls/d3d9/query.c
+++ b/dlls/d3d9/query.c
@@ -34,10 +34,11 @@ HRESULT WINAPI IDirect3DQuery9Impl_Query
         || IsEqualGUID(riid, &IID_IDirect3DQuery9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/resource.c b/dlls/d3d9/resource.c
index 3ef38d3..d3ac577 100644
--- a/dlls/d3d9/resource.c
+++ b/dlls/d3d9/resource.c
@@ -32,10 +32,11 @@ HRESULT WINAPI IDirect3DResource9Impl_Qu
         || IsEqualGUID(riid, &IID_IDirect3DResource9)) {
         IDirect3DResource9Impl_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/stateblock.c b/dlls/d3d9/stateblock.c
index ad87335..8e3aa45 100644
--- a/dlls/d3d9/stateblock.c
+++ b/dlls/d3d9/stateblock.c
@@ -33,10 +33,11 @@ HRESULT WINAPI IDirect3DStateBlock9Impl_
         || IsEqualGUID(riid, &IID_IDirect3DStateBlock9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/surface.c b/dlls/d3d9/surface.c
index 6fb6daa..f04216e 100644
--- a/dlls/d3d9/surface.c
+++ b/dlls/d3d9/surface.c
@@ -33,10 +33,11 @@ HRESULT WINAPI IDirect3DSurface9Impl_Que
         || IsEqualGUID(riid, &IID_IDirect3DSurface9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/swapchain.c b/dlls/d3d9/swapchain.c
index 95c8096..5bcb480 100644
--- a/dlls/d3d9/swapchain.c
+++ b/dlls/d3d9/swapchain.c
@@ -34,10 +34,11 @@ HRESULT WINAPI IDirect3DSwapChain9Impl_Q
         || IsEqualGUID(riid, &IID_IDirect3DSwapChain9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/texture.c b/dlls/d3d9/texture.c
index 2ec3180..f7eca1d 100644
--- a/dlls/d3d9/texture.c
+++ b/dlls/d3d9/texture.c
@@ -35,10 +35,11 @@ HRESULT WINAPI IDirect3DTexture9Impl_Que
         || IsEqualGUID(riid, &IID_IDirect3DTexture9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p) not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/vertexbuffer.c b/dlls/d3d9/vertexbuffer.c
index 3fa47df..9567010 100644
--- a/dlls/d3d9/vertexbuffer.c
+++ b/dlls/d3d9/vertexbuffer.c
@@ -34,10 +34,11 @@ HRESULT WINAPI IDirect3DVertexBuffer9Imp
         || IsEqualGUID(riid, &IID_IDirect3DVertexBuffer9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/vertexdeclaration.c b/dlls/d3d9/vertexdeclaration.c
index f50e34b..c5fb323 100644
--- a/dlls/d3d9/vertexdeclaration.c
+++ b/dlls/d3d9/vertexdeclaration.c
@@ -32,10 +32,11 @@ HRESULT WINAPI IDirect3DVertexDeclaratio
         || IsEqualGUID(riid, &IID_IDirect3DVertexDeclaration9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/vertexshader.c b/dlls/d3d9/vertexshader.c
index ed3bc4d..2b74bd6 100644
--- a/dlls/d3d9/vertexshader.c
+++ b/dlls/d3d9/vertexshader.c
@@ -32,10 +32,11 @@ HRESULT WINAPI IDirect3DVertexShader9Imp
         || IsEqualGUID(riid, &IID_IDirect3DVertexShader9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/volume.c b/dlls/d3d9/volume.c
index bb1e490..3007c52 100644
--- a/dlls/d3d9/volume.c
+++ b/dlls/d3d9/volume.c
@@ -32,10 +32,11 @@ HRESULT WINAPI IDirect3DVolume9Impl_Quer
         || IsEqualGUID(riid, &IID_IDirect3DVolume9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 
diff --git a/dlls/d3d9/volumetexture.c b/dlls/d3d9/volumetexture.c
index 5b4d2f8..fe3a1f0 100644
--- a/dlls/d3d9/volumetexture.c
+++ b/dlls/d3d9/volumetexture.c
@@ -34,10 +34,11 @@ HRESULT WINAPI IDirect3DVolumeTexture9Im
     || IsEqualGUID(riid, &IID_IDirect3DVolumeTexture9)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
-        return D3D_OK;
+        return S_OK;
     }
 
     WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
+    *ppobj = NULL;
     return E_NOINTERFACE;
 }
 




More information about the wine-cvs mailing list