From 45c7b47b065c5f5876e96e7d1e130292fa626625 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 5 Apr 2012 19:55:38 +0200 Subject: [PATCH] d3dx9: Don't return a pointer to the implementation in ID3DXSpriteImpl_QueryInterface(). --- dlls/d3dx9_36/sprite.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/dlls/d3dx9_36/sprite.c b/dlls/d3dx9_36/sprite.c index d81e13f390f..a8cbb538823 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; }