[PATCH 6/6] ole32: Release interfaces as part of Stop.

Huw Davies huw at codeweavers.com
Wed Oct 14 04:33:52 CDT 2015


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>
---
 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 8462a4e..89f3a5a 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;
-- 
1.8.0




More information about the wine-patches mailing list