Andrew Nguyen : dxdiagn: Make the IDxDiag* interfaces conform to the IUnknown:: QueryInterface contract.

Alexandre Julliard julliard at winehq.org
Tue Dec 22 09:58:59 CST 2009


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

Author: Andrew Nguyen <arethusa26 at 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;
 }
 




More information about the wine-cvs mailing list