Aaryaman Vasishta : d3drm: Fix QueryInterface for IDirect3DRMTexture*.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jan 21 11:22:05 CST 2016


Module: wine
Branch: master
Commit: 47913f1c1c58bd62756c54910865c7cedcfc8501
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=47913f1c1c58bd62756c54910865c7cedcfc8501

Author: Aaryaman Vasishta <jem456.vasishta at gmail.com>
Date:   Wed Jan 20 20:54:14 2016 +0530

d3drm: Fix QueryInterface for IDirect3DRMTexture*.

Signed-off-by: Aaryaman Vasishta <jem456.vasishta at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3drm/texture.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/dlls/d3drm/texture.c b/dlls/d3drm/texture.c
index 46d968a..080c6f8 100644
--- a/dlls/d3drm/texture.c
+++ b/dlls/d3drm/texture.c
@@ -679,21 +679,26 @@ static HRESULT WINAPI d3drm_texture3_QueryInterface(IDirect3DRMTexture3 *iface,
 
     TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
 
-    if (IsEqualGUID(riid, &IID_IDirect3DRMTexture2)
-            || IsEqualGUID(riid, &IID_IDirect3DRMTexture)
+    if (IsEqualGUID(riid, &IID_IDirect3DRMTexture3)
+            || IsEqualGUID(riid, &IID_IDirect3DRMVisual)
+            || IsEqualGUID(riid, &IID_IDirect3DRMObject)
             || IsEqualGUID(riid, &IID_IUnknown))
     {
+        *out = &texture->IDirect3DRMTexture3_iface;
+    }
+    else if (IsEqualGUID(riid, &IID_IDirect3DRMTexture2))
+    {
         *out = &texture->IDirect3DRMTexture2_iface;
     }
-    else if (IsEqualGUID(riid, &IID_IDirect3DRMTexture3))
+    else if (IsEqualGUID(riid, &IID_IDirect3DRMTexture))
     {
-        *out = &texture->IDirect3DRMTexture3_iface;
+        *out = &texture->IDirect3DRMTexture_iface;
     }
     else
     {
         *out = NULL;
-        WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
-        return E_NOINTERFACE;
+        WARN("%s not implemented, returning CLASS_E_CLASSNOTAVAILABLE.\n", debugstr_guid(riid));
+        return CLASS_E_CLASSNOTAVAILABLE;
     }
 
     IUnknown_AddRef((IUnknown *)*out);




More information about the wine-cvs mailing list