Huw Davies : ole32: Release interfaces as part of Stop.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Oct 14 11:12:50 CDT 2015


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

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Oct 14 10:33:52 2015 +0100

ole32: Release interfaces as part of Stop.

This can now be done as Stop will no longer be called from within an object call.

Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ole32/defaulthandler.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/dlls/ole32/defaulthandler.c b/dlls/ole32/defaulthandler.c
index e3f13a6..3200f4b 100644
--- a/dlls/ole32/defaulthandler.c
+++ b/dlls/ole32/defaulthandler.c
@@ -502,6 +502,7 @@ static void DefaultHandler_Stop(DefaultHandler *This)
     DataAdviseHolder_OnDisconnect(This->dataAdviseHolder);
 
   This->object_state = object_state_not_running;
+  release_delegates( This );
 }
 
 /************************************************************************
@@ -529,7 +530,6 @@ static HRESULT WINAPI DefaultHandler_Close(
   end_object_call( This );
 
   DefaultHandler_Stop(This);
-  release_delegates(This);
 
   return hr;
 }
@@ -1517,7 +1517,6 @@ static HRESULT WINAPI DefaultHandler_Run(
 
 fail:
   DefaultHandler_Stop(This);
-  release_delegates(This);
   return hr;
 }
 
@@ -2180,7 +2179,6 @@ static void DefaultHandler_Destroy(
 
   /* release delegates */
   DefaultHandler_Stop(This);
-  release_delegates(This);
 
   HeapFree( GetProcessHeap(), 0, This->containerApp );
   This->containerApp = NULL;




More information about the wine-cvs mailing list