WINED3D: Update the QueryInterface functions of IWineD3DBase subclasses

H. Verbeet hverbeet at gmail.com
Sun Feb 5 13:50:13 CST 2006


All wined3d objects are subclasses of IWineD3DBase. Their
QueryInterface functions should reflect this.

Changelog:
  - Update the QueryInterface functions of IWineD3DBase subclasses
-------------- next part --------------
diff --git a/dlls/wined3d/basetexture.c b/dlls/wined3d/basetexture.c
index 1df337c..6188482 100644
--- a/dlls/wined3d/basetexture.c
+++ b/dlls/wined3d/basetexture.c
@@ -62,8 +62,8 @@ HRESULT WINAPI IWineD3DBaseTextureImpl_Q
 {
     IWineD3DBaseTextureImpl *This = (IWineD3DBaseTextureImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
-    /* FIXME: This needs to extend an IWineD3DBaseObject */
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)
         || IsEqualGUID(riid, &IID_IWineD3DBaseTexture)) {
         IUnknown_AddRef(iface);
diff --git a/dlls/wined3d/cubetexture.c b/dlls/wined3d/cubetexture.c
index 4cc8d0a..966d8c2 100644
--- a/dlls/wined3d/cubetexture.c
+++ b/dlls/wined3d/cubetexture.c
@@ -52,6 +52,7 @@ HRESULT WINAPI IWineD3DCubeTextureImpl_Q
     IWineD3DCubeTextureImpl *This = (IWineD3DCubeTextureImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)
         || IsEqualGUID(riid, &IID_IWineD3DBaseTexture)
         || IsEqualGUID(riid, &IID_IWineD3DTexture)) {
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 6b1d3cf..d98933c 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -329,10 +329,10 @@ void WINAPI IWineD3DDeviceImpl_SetupText
 HRESULT WINAPI IWineD3DDeviceImpl_QueryInterface(IWineD3DDevice *iface,REFIID riid,LPVOID *ppobj)
 {
     IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
-    /* FIXME: This needs to extend an IWineD3DBaseObject */
 
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DDevice)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 7aa8d5d..01b4103 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -166,10 +166,10 @@ static void WineD3D_ReleaseFakeGLContext
 HRESULT WINAPI IWineD3DImpl_QueryInterface(IWineD3D *iface,REFIID riid,LPVOID *ppobj)
 {
     IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
-    /* FIXME: This needs to extend an IWineD3DBaseObject */
 
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DDevice)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/indexbuffer.c b/dlls/wined3d/indexbuffer.c
index 8276a29..4a23f28 100644
--- a/dlls/wined3d/indexbuffer.c
+++ b/dlls/wined3d/indexbuffer.c
@@ -35,6 +35,7 @@ HRESULT WINAPI IWineD3DIndexBufferImpl_Q
     IWineD3DIndexBufferImpl *This = (IWineD3DIndexBufferImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)
         || IsEqualGUID(riid, &IID_IWineD3DIndexBuffer)){
         IUnknown_AddRef(iface);
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index a202942..81b8bd3 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -62,6 +62,7 @@ HRESULT WINAPI IWineD3DPixelShaderImpl_Q
     IWineD3DPixelShaderImpl *This = (IWineD3DPixelShaderImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DPixelShader)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
index 6d83a88..0ed22a5 100644
--- a/dlls/wined3d/query.c
+++ b/dlls/wined3d/query.c
@@ -38,6 +38,7 @@ HRESULT WINAPI IWineD3DQueryImpl_QueryIn
     IWineD3DQueryImpl *This = (IWineD3DQueryImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DQuery)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
index b3bb799..2f10db8 100644
--- a/dlls/wined3d/resource.c
+++ b/dlls/wined3d/resource.c
@@ -33,6 +33,7 @@ HRESULT WINAPI IWineD3DResourceImpl_Quer
     IWineD3DResourceImpl *This = (IWineD3DResourceImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index 1ef2a52..8ab5429 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -34,6 +34,7 @@ HRESULT WINAPI IWineD3DStateBlockImpl_Qu
     IWineD3DStateBlockImpl *This = (IWineD3DStateBlockImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DStateBlock)){
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 51e6ed9..7d5b217 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -40,6 +40,7 @@ HRESULT WINAPI IWineD3DSurfaceImpl_Query
         ERR("Probably FIXME: Calling query interface with NULL riid\n");
     }
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)
         || IsEqualGUID(riid, &IID_IWineD3DSurface)) {
         IUnknown_AddRef((IUnknown*)iface);
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index d5bbfc3..72effcd 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -67,6 +67,7 @@ HRESULT WINAPI IWineD3DSwapChainImpl_Que
     IWineD3DSwapChainImpl *This = (IWineD3DSwapChainImpl *)iface;
     TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DSwapChain)){
         IWineD3DSwapChainImpl_AddRef(iface);
         if(ppobj == NULL){
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 1bb2257..e9d4600 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -34,6 +34,7 @@ HRESULT WINAPI IWineD3DTextureImpl_Query
     IWineD3DTextureImpl *This = (IWineD3DTextureImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)
         || IsEqualGUID(riid, &IID_IWineD3DBaseTexture)
         || IsEqualGUID(riid, &IID_IWineD3DTexture)){
diff --git a/dlls/wined3d/vertexbuffer.c b/dlls/wined3d/vertexbuffer.c
index c11fd63..20a3bdb 100644
--- a/dlls/wined3d/vertexbuffer.c
+++ b/dlls/wined3d/vertexbuffer.c
@@ -34,6 +34,7 @@ HRESULT WINAPI IWineD3DVertexBufferImpl_
     IWineD3DVertexBufferImpl *This = (IWineD3DVertexBufferImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)
         || IsEqualGUID(riid, &IID_IWineD3DVertexBuffer)){
         IUnknown_AddRef(iface);
diff --git a/dlls/wined3d/vertexdeclaration.c b/dlls/wined3d/vertexdeclaration.c
index 0f6cf9b..de27935 100644
--- a/dlls/wined3d/vertexdeclaration.c
+++ b/dlls/wined3d/vertexdeclaration.c
@@ -398,6 +398,7 @@ HRESULT WINAPI IWineD3DVertexDeclaration
     IWineD3DVertexDeclarationImpl *This = (IWineD3DVertexDeclarationImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DVertexDeclaration)){
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index ed98c9d..32dd70f 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -1980,6 +1980,7 @@ HRESULT WINAPI IWineD3DVertexShaderImpl_
     IWineD3DVertexShaderImpl *This = (IWineD3DVertexShaderImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown) 
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DVertexShader)) {
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
index 012a831..745690a 100644
--- a/dlls/wined3d/volume.c
+++ b/dlls/wined3d/volume.c
@@ -34,6 +34,7 @@ HRESULT WINAPI IWineD3DVolumeImpl_QueryI
     IWineD3DVolumeImpl *This = (IWineD3DVolumeImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DVolume)){
         IUnknown_AddRef(iface);
         *ppobj = This;
diff --git a/dlls/wined3d/volumetexture.c b/dlls/wined3d/volumetexture.c
index f8d4567..14e1154 100644
--- a/dlls/wined3d/volumetexture.c
+++ b/dlls/wined3d/volumetexture.c
@@ -34,6 +34,7 @@ HRESULT WINAPI IWineD3DVolumeTextureImpl
     IWineD3DVolumeTextureImpl *This = (IWineD3DVolumeTextureImpl *)iface;
     TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(riid),ppobj);
     if (IsEqualGUID(riid, &IID_IUnknown)
+        || IsEqualGUID(riid, &IID_IWineD3DBase)
         || IsEqualGUID(riid, &IID_IWineD3DResource)
         || IsEqualGUID(riid, &IID_IWineD3DBaseTexture)
         || IsEqualGUID(riid, &IID_IWineD3DVolumeTexture)) {


More information about the wine-patches mailing list