Jacek Caban : urlmon: Use protocol handler' s IUnknown to query other interfaces in BindProtocol.
Alexandre Julliard
julliard at winehq.org
Wed May 9 16:35:12 CDT 2018
Module: wine
Branch: master
Commit: 5082e4df25dfd8bb558330557b324345d9637e5c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=5082e4df25dfd8bb558330557b324345d9637e5c
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed May 9 14:58:27 2018 +0200
urlmon: Use protocol handler's IUnknown to query other interfaces in BindProtocol.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/urlmon/bindprot.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/urlmon/bindprot.c b/dlls/urlmon/bindprot.c
index 3d332c2..38187e9 100644
--- a/dlls/urlmon/bindprot.c
+++ b/dlls/urlmon/bindprot.c
@@ -286,11 +286,11 @@ static HRESULT WINAPI BindProtocol_QueryInterface(IInternetProtocolEx *iface, RE
}else if(IsEqualGUID(&IID_IWinInetInfo, riid)) {
TRACE("(%p)->(IID_IWinInetInfo %p)\n", This, ppv);
- if(This->protocol) {
+ if(This->protocol_unk) {
IWinInetInfo *inet_info;
HRESULT hres;
- hres = IInternetProtocol_QueryInterface(This->protocol, &IID_IWinInetInfo, (void**)&inet_info);
+ hres = IUnknown_QueryInterface(This->protocol_unk, &IID_IWinInetInfo, (void**)&inet_info);
if(SUCCEEDED(hres)) {
*ppv = &This->IWinInetHttpInfo_iface;
IWinInetInfo_Release(inet_info);
@@ -299,11 +299,11 @@ static HRESULT WINAPI BindProtocol_QueryInterface(IInternetProtocolEx *iface, RE
}else if(IsEqualGUID(&IID_IWinInetHttpInfo, riid)) {
TRACE("(%p)->(IID_IWinInetHttpInfo %p)\n", This, ppv);
- if(This->protocol) {
+ if(This->protocol_unk) {
IWinInetHttpInfo *http_info;
HRESULT hres;
- hres = IInternetProtocol_QueryInterface(This->protocol, &IID_IWinInetHttpInfo, (void**)&http_info);
+ hres = IUnknown_QueryInterface(This->protocol_unk, &IID_IWinInetHttpInfo, (void**)&http_info);
if(SUCCEEDED(hres)) {
*ppv = &This->IWinInetHttpInfo_iface;
IWinInetHttpInfo_Release(http_info);
@@ -557,15 +557,18 @@ static HRESULT WINAPI BindProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUr
This->protocol_unk = protocol_unk;
This->protocol = protocol;
+ if(!protocol_unk)
+ protocol_unk = (IUnknown*)protocol;
+
set_binding_sink(This, pOIProtSink, pOIBindInfo);
- hres = IInternetProtocol_QueryInterface(protocol, &IID_IInternetPriority, (void**)&priority);
+ hres = IUnknown_QueryInterface(protocol_unk, &IID_IInternetPriority, (void**)&priority);
if(SUCCEEDED(hres)) {
IInternetPriority_SetPriority(priority, This->priority);
IInternetPriority_Release(priority);
}
- hres = IInternetProtocol_QueryInterface(protocol, &IID_IInternetProtocolEx, (void**)&protocolex);
+ hres = IUnknown_QueryInterface(protocol_unk, &IID_IInternetProtocolEx, (void**)&protocolex);
if(SUCCEEDED(hres)) {
hres = IInternetProtocolEx_StartEx(protocolex, pUri, &This->IInternetProtocolSink_iface,
&This->IInternetBindInfo_iface, 0, NULL);
More information about the wine-cvs
mailing list