Module: wine Branch: master Commit: b6259956c18ca00eb80362c6781b9e6399f946b4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b6259956c18ca00eb80362c678...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Jul 2 23:21:37 2009 +0200
urlmon: Use GetBinfInfoEx in GetBindInfo implementation if possible.
---
dlls/urlmon/bindctx.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/dlls/urlmon/bindctx.c b/dlls/urlmon/bindctx.c index fe80456..1a89482 100644 --- a/dlls/urlmon/bindctx.c +++ b/dlls/urlmon/bindctx.c @@ -178,10 +178,22 @@ static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo) { BindStatusCallback *This = STATUSCLB_THIS(iface); + IBindStatusCallbackEx *bscex; + HRESULT hres;
TRACE("(%p)->(%p %p)\n", This, grfBINDF, pbindinfo);
- return IBindStatusCallback_GetBindInfo(This->callback, grfBINDF, pbindinfo); + hres = IBindStatusCallback_QueryInterface(This->callback, &IID_IBindStatusCallbackEx, (void**)&bscex); + if(SUCCEEDED(hres)) { + DWORD bindf2 = 0, reserv = 0; + + hres = IBindStatusCallbackEx_GetBindInfoEx(bscex, grfBINDF, pbindinfo, &bindf2, &reserv); + IBindStatusCallbackEx_Release(bscex); + }else { + hres = IBindStatusCallback_GetBindInfo(This->callback, grfBINDF, pbindinfo); + } + + return hres; }
static HRESULT WINAPI BindStatusCallback_OnDataAvailable(IBindStatusCallback *iface,