Module: wine Branch: master Commit: fe04ba0aab7a20d91d7d02f2c7d58333b0b7488f URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe04ba0aab7a20d91d7d02f2c7...
Author: Jacek Caban jacek@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)