Robert Shearman : ole32: Add a check for NULL This-> dataAdviseHolder in DefaultHandler_Stop.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Aug 9 16:18:46 CDT 2006


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

Author: Robert Shearman <rob at codeweavers.com>
Date:   Wed Aug  9 18:16:06 2006 +0100

ole32: Add a check for NULL This->dataAdviseHolder in DefaultHandler_Stop.

Cleanup DefaultHandler_GetCanonicalFormatEtc by using
This->pDataDelegate instead of querying for IDataObject from
This->pOleDelegate.

---

 dlls/ole32/defaulthandler.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/dlls/ole32/defaulthandler.c b/dlls/ole32/defaulthandler.c
index 5058468..4158f50 100644
--- a/dlls/ole32/defaulthandler.c
+++ b/dlls/ole32/defaulthandler.c
@@ -416,7 +416,8 @@ static void WINAPI DefaultHandler_Stop(D
 
   /* FIXME: call IOleCache_OnStop */
 
-  DataAdviseHolder_OnDisconnect(This->dataAdviseHolder);
+  if (This->dataAdviseHolder)
+    DataAdviseHolder_OnDisconnect(This->dataAdviseHolder);
   if (This->pDataDelegate)
   {
      IDataObject_Release(This->pDataDelegate);
@@ -1030,16 +1031,13 @@ static HRESULT WINAPI DefaultHandler_Get
 	    LPFORMATETC      pformatetcOut)
 {
   DefaultHandler *This = impl_from_IDataObject(iface);
-  IDataObject *pDataObject;
-  HRESULT hr;
 
   TRACE("(%p, %p, %p)\n", iface, pformatetcIn, pformatetcOut);
 
-  if (!This->pOleDelegate)
+  if (!This->pDataDelegate)
     return OLE_E_NOTRUNNING;
 
-  hr = IOleObject_QueryInterface(This->pOleDelegate, &IID_IDataObject, (void **)&pDataObject);
-  return IDataObject_GetCanonicalFormatEtc(pDataObject, pformatetcIn, pformatetcOut);
+  return IDataObject_GetCanonicalFormatEtc(This->pDataDelegate, pformatetcIn, pformatetcOut);
 }
 
 /************************************************************************




More information about the wine-cvs mailing list