From 6bc361f2fc132f3d818dd054b467122145d03394 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Fri, 20 Jan 2012 14:52:16 +0100 Subject: [PATCH] urlmon: Store display_uri in BindProtocol structure. --- dlls/urlmon/bindprot.c | 8 +++----- dlls/urlmon/urlmon_main.h | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/dlls/urlmon/bindprot.c b/dlls/urlmon/bindprot.c index 7c2aca65666..aef74fc164d 100644 --- a/dlls/urlmon/bindprot.c +++ b/dlls/urlmon/bindprot.c @@ -342,6 +342,7 @@ static ULONG WINAPI BindProtocol_Release(IInternetProtocolEx *iface) IInternetProtocol_Release(&This->filter_proxy->IInternetProtocol_iface); if(This->uri) IUri_Release(This->uri); + SysFreeString(This->display_uri); set_binding_sink(This, NULL, NULL); @@ -546,15 +547,12 @@ static HRESULT WINAPI BindProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUr &This->IInternetBindInfo_iface, 0, NULL); IInternetProtocolEx_Release(protocolex); }else { - BSTR display_uri; - - hres = IUri_GetDisplayUri(pUri, &display_uri); + hres = IUri_GetDisplayUri(pUri, &This->display_uri); if(FAILED(hres)) return hres; - hres = IInternetProtocol_Start(protocol, display_uri, &This->IInternetProtocolSink_iface, + hres = IInternetProtocol_Start(protocol, This->display_uri, &This->IInternetProtocolSink_iface, &This->IInternetBindInfo_iface, 0, 0); - SysFreeString(display_uri); } return hres; diff --git a/dlls/urlmon/urlmon_main.h b/dlls/urlmon/urlmon_main.h index a185f1077b2..28723e14edd 100644 --- a/dlls/urlmon/urlmon_main.h +++ b/dlls/urlmon/urlmon_main.h @@ -211,6 +211,7 @@ typedef struct { DWORD buf_size; LPWSTR mime; IUri *uri; + BSTR display_uri; ProtocolProxy *filter_proxy; } BindProtocol;