Module: wine Branch: master Commit: 8e40db2783198fd9e81e5b49ea2e7cf652eb7ce2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8e40db2783198fd9e81e5b49ea...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Mar 28 20:22:39 2012 +0200
d3d9: Don't return a pointer to the implementation in IDirect3DVertexDeclaration9Impl_QueryInterface().
---
dlls/d3d9/vertexdeclaration.c | 22 ++++++++++++---------- 1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/dlls/d3d9/vertexdeclaration.c b/dlls/d3d9/vertexdeclaration.c index 3b2198e..3ed9eb7 100644 --- a/dlls/d3d9/vertexdeclaration.c +++ b/dlls/d3d9/vertexdeclaration.c @@ -194,20 +194,22 @@ HRESULT vdecl_convert_fvf( }
/* IDirect3DVertexDeclaration9 IUnknown parts follow: */ -static HRESULT WINAPI IDirect3DVertexDeclaration9Impl_QueryInterface(LPDIRECT3DVERTEXDECLARATION9 iface, REFIID riid, LPVOID* ppobj) { - IDirect3DVertexDeclaration9Impl *This = (IDirect3DVertexDeclaration9Impl *)iface; - - TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), ppobj); +static HRESULT WINAPI IDirect3DVertexDeclaration9Impl_QueryInterface(IDirect3DVertexDeclaration9 *iface, + REFIID riid, void **out) +{ + TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
- if (IsEqualGUID(riid, &IID_IUnknown) - || IsEqualGUID(riid, &IID_IDirect3DVertexDeclaration9)) { + if (IsEqualGUID(riid, &IID_IDirect3DVertexDeclaration9) + || IsEqualGUID(riid, &IID_IUnknown)) + { IDirect3DVertexDeclaration9_AddRef(iface); - *ppobj = This; + *out = iface; return S_OK; }
- WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); - *ppobj = NULL; + WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid)); + + *out = NULL; return E_NOINTERFACE; }