Jacek Caban : urlmon: Use QueryInterface in get_callback.
Module: wine Branch: master Commit: fe04ba0aab7a20d91d7d02f2c7d58333b0b7488f URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe04ba0aab7a20d91d7d02f2c7... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Fri Oct 26 00:21:21 2007 +0200 urlmon: Use QueryInterface in get_callback. --- dlls/urlmon/binding.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c index eb48bfa..ae58503 100644 --- a/dlls/urlmon/binding.c +++ b/dlls/urlmon/binding.c @@ -1035,15 +1035,18 @@ static const IServiceProviderVtbl ServiceProviderVtbl = { static HRESULT get_callback(IBindCtx *pbc, IBindStatusCallback **callback) { + IUnknown *unk; HRESULT hres; static WCHAR wszBSCBHolder[] = { '_','B','S','C','B','_','H','o','l','d','e','r','_',0 }; - hres = IBindCtx_GetObjectParam(pbc, wszBSCBHolder, (IUnknown**)callback); - if(FAILED(hres)) - return MK_E_SYNTAX; + hres = IBindCtx_GetObjectParam(pbc, wszBSCBHolder, &unk); + if(SUCCEEDED(hres)) { + hres = IUnknown_QueryInterface(unk, &IID_IBindStatusCallback, (void**)callback); + IUnknown_Release(unk); + } - return S_OK; + return SUCCEEDED(hres) ? S_OK : MK_E_SYNTAX; } static HRESULT get_protocol(Binding *This, LPCWSTR url)
participants (1)
-
Alexandre Julliard