Module: wine Branch: master Commit: cc8ed9a3714e5f36ca0b4af8499d8a838931ab64 URL: http://source.winehq.org/git/wine.git/?a=commit;h=cc8ed9a3714e5f36ca0b4af849...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Jan 3 16:40:17 2008 +0100
shdocvw: Added OnStopBinding implementation and use it in http_load_hack.
---
dlls/shdocvw/navigate.c | 23 ++++++++++------------- 1 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c index 90f8fe0..6f35a06 100644 --- a/dlls/shdocvw/navigate.c +++ b/dlls/shdocvw/navigate.c @@ -30,6 +30,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
+static const WCHAR emptyW[] = {0}; + typedef struct { const IBindStatusCallbackVtbl *lpBindStatusCallbackVtbl; const IHttpNegotiateVtbl *lpHttpNegotiateVtbl; @@ -214,14 +216,16 @@ static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *ifac { BindStatusCallback *This = BINDSC_THIS(iface);
- FIXME("(%p)->(%08x %s)\n", This, hresult, debugstr_w(szError)); + TRACE("(%p)->(%08x %s)\n", This, hresult, debugstr_w(szError)); + + set_status_text(This, emptyW);
if(This->doc_host) { IOleClientSite_Release(CLIENTSITE(This->doc_host)); This->doc_host = NULL; }
- return E_NOTIMPL; + return S_OK; }
static HRESULT WINAPI BindStatusCallback_GetBindInfo(IBindStatusCallback *iface, @@ -512,8 +516,10 @@ static HRESULT http_load_hack(DocHost *This, IMoniker *mon, IBindStatusCallback }
hres = IUnknown_QueryInterface(doc, &IID_IPersistMoniker, (void**)&persist); - if(FAILED(hres)) + if(FAILED(hres)) { + IUnknown_Release(doc); return hres; + }
hres = IPersistMoniker_Load(persist, FALSE, mon, bindctx, 0); IPersistMoniker_Release(persist); @@ -525,14 +531,7 @@ static HRESULT http_load_hack(DocHost *This, IMoniker *mon, IBindStatusCallback
IUnknown_Release(doc);
- if(This->frame) { - static const WCHAR empty[] = {0}; - - IOleInPlaceFrame_SetStatusText(This->frame, empty); /* FIXME */ - } - - return hres; - + return IBindStatusCallback_OnStopBinding(callback, hres, NULL); }
static HRESULT bind_to_object(DocHost *This, IMoniker *mon, LPCWSTR url, IBindCtx *bindctx, @@ -572,8 +571,6 @@ static HRESULT navigate_mon(DocHost *This, IMoniker *mon, PBYTE post_data, ULONG
hres = bind_to_object(This, mon, This->url, bindctx, callback);
- IBindStatusCallback_OnStopBinding(callback, hres, NULL); - IBindStatusCallback_Release(callback); IBindCtx_Release(bindctx);