Module: wine Branch: master Commit: d36e3b4a1d71ca4decbbebd6fd4053fbec94bbb3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d36e3b4a1d71ca4decbbebd6fd... Author: Andrew Nguyen <arethusa26(a)gmail.com> Date: Tue Dec 22 04:14:56 2009 -0600 dxdiagn: Make the IDxDiag* interfaces conform to the IUnknown::QueryInterface contract. --- dlls/dxdiagn/container.c | 3 +++ dlls/dxdiagn/provider.c | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/dlls/dxdiagn/container.c b/dlls/dxdiagn/container.c index 621579b..e02d1d1 100644 --- a/dlls/dxdiagn/container.c +++ b/dlls/dxdiagn/container.c @@ -33,6 +33,8 @@ HRESULT WINAPI IDxDiagContainerImpl_QueryInterface(PDXDIAGCONTAINER iface, REFII { IDxDiagContainerImpl *This = (IDxDiagContainerImpl *)iface; + if (!ppobj) return E_INVALIDARG; + if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDxDiagContainer)) { IUnknown_AddRef(iface); @@ -41,6 +43,7 @@ HRESULT WINAPI IDxDiagContainerImpl_QueryInterface(PDXDIAGCONTAINER iface, REFII } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + *ppobj = NULL; return E_NOINTERFACE; } diff --git a/dlls/dxdiagn/provider.c b/dlls/dxdiagn/provider.c index 88d67b6..21bb32d 100644 --- a/dlls/dxdiagn/provider.c +++ b/dlls/dxdiagn/provider.c @@ -48,6 +48,8 @@ static HRESULT WINAPI IDxDiagProviderImpl_QueryInterface(PDXDIAGPROVIDER iface, { IDxDiagProviderImpl *This = (IDxDiagProviderImpl *)iface; + if (!ppobj) return E_INVALIDARG; + if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDxDiagProvider)) { IUnknown_AddRef(iface); @@ -56,6 +58,7 @@ static HRESULT WINAPI IDxDiagProviderImpl_QueryInterface(PDXDIAGPROVIDER iface, } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + *ppobj = NULL; return E_NOINTERFACE; }