Jacek Caban : urlmon: Use QueryInterface in get_callback.

Alexandre Julliard julliard at winehq.org
Fri Oct 26 08:34:49 CDT 2007


Module: wine
Branch: master
Commit: fe04ba0aab7a20d91d7d02f2c7d58333b0b7488f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fe04ba0aab7a20d91d7d02f2c7d58333b0b7488f

Author: Jacek Caban <jacek at 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)




More information about the wine-cvs mailing list