Henri Verbeet : d3dx9: Don' t return a pointer to the implementation in ID3DXSpriteImpl_QueryInterface( ).

Alexandre Julliard julliard at winehq.org
Fri Apr 6 14:43:22 CDT 2012


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Apr  5 19:55:38 2012 +0200

d3dx9: Don't return a pointer to the implementation in ID3DXSpriteImpl_QueryInterface().

---

 dlls/d3dx9_36/sprite.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/dlls/d3dx9_36/sprite.c b/dlls/d3dx9_36/sprite.c
index d81e13f..a8cbb53 100644
--- a/dlls/d3dx9_36/sprite.c
+++ b/dlls/d3dx9_36/sprite.c
@@ -69,17 +69,21 @@ static inline ID3DXSpriteImpl *impl_from_ID3DXSprite(ID3DXSprite *iface)
     return CONTAINING_RECORD(iface, ID3DXSpriteImpl, ID3DXSprite_iface);
 }
 
-static HRESULT WINAPI ID3DXSpriteImpl_QueryInterface(ID3DXSprite *iface, REFIID riid, void **object)
+static HRESULT WINAPI ID3DXSpriteImpl_QueryInterface(ID3DXSprite *iface, REFIID riid, void **out)
 {
-    ID3DXSpriteImpl *This = impl_from_ID3DXSprite(iface);
+    TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
 
-    TRACE("(%p): QueryInterface from %s\n", This, debugstr_guid(riid));
-    if(IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_ID3DXSprite)) {
+    if (IsEqualGUID(riid, &IID_ID3DXSprite)
+            || IsEqualGUID(riid, &IID_IUnknown))
+    {
         IUnknown_AddRef(iface);
-        *object=This;
+        *out = iface;
         return S_OK;
     }
-    WARN("(%p)->(%s, %p): not found\n", iface, debugstr_guid(riid), *object);
+
+    WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
+
+    *out = NULL;
     return E_NOINTERFACE;
 }
 




More information about the wine-cvs mailing list