Jacek Caban : urlmon: Avoid ProtocolHandler being destroyed in Terminate call.
Module: wine Branch: master Commit: 54bf34f1e7cd916cfee8b4c383d7552296ae9a4b URL: http://source.winehq.org/git/wine.git/?a=commit;h=54bf34f1e7cd916cfee8b4c383... Author: Jacek Caban <jacek(a)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; }
participants (1)
-
Alexandre Julliard