Jacek Caban : urlmon: Avoid ProtocolHandler being destroyed in Terminate call.

Alexandre Julliard julliard at winehq.org
Thu May 15 15:14:31 CDT 2014


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu May 15 18:56:51 2014 +0200

urlmon: Avoid ProtocolHandler being destroyed in Terminate call.

---

 dlls/urlmon/bindprot.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/urlmon/bindprot.c b/dlls/urlmon/bindprot.c
index 7f2bea1..1efb74c 100644
--- a/dlls/urlmon/bindprot.c
+++ b/dlls/urlmon/bindprot.c
@@ -698,6 +698,9 @@ static HRESULT WINAPI ProtocolHandler_Terminate(IInternetProtocol *iface, DWORD
     if(!This->reported_result)
         return E_FAIL;
 
+    /* This may get released in Terminate call. */
+    IInternetProtocolEx_AddRef(&This->IInternetProtocolEx_iface);
+
     IInternetProtocol_Terminate(This->protocol, 0);
 
     set_binding_sink(This, NULL, NULL);
@@ -707,6 +710,7 @@ static HRESULT WINAPI ProtocolHandler_Terminate(IInternetProtocol *iface, DWORD
         This->bind_info = NULL;
     }
 
+    IInternetProtocolEx_Release(&This->IInternetProtocolEx_iface);
     return S_OK;
 }
 




More information about the wine-cvs mailing list