Jacek Caban : shdocvw: Added OnStopBinding implementation and use it in http_load_hack.
Alexandre Julliard
julliard at winehq.org
Fri Jan 4 07:12:39 CST 2008
Module: wine
Branch: master
Commit: cc8ed9a3714e5f36ca0b4af8499d8a838931ab64
URL: http://source.winehq.org/git/wine.git/?a=commit;h=cc8ed9a3714e5f36ca0b4af8499d8a838931ab64
Author: Jacek Caban <jacek at 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);
More information about the wine-cvs
mailing list