Module: wine Branch: master Commit: d36e3b4a1d71ca4decbbebd6fd4053fbec94bbb3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d36e3b4a1d71ca4decbbebd6fd...
Author: Andrew Nguyen arethusa26@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; }