Module: wine Branch: master Commit: 473010268df893322c0252bef1629213310df1f2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=473010268df893322c0252bef1...
Author: Jared Lapsley jared151@gmail.com Date: Thu Mar 13 08:16:41 2008 -0400
shdocvw: WebBrowser_get_Busy implementation.
---
dlls/shdocvw/dochost.c | 1 + dlls/shdocvw/navigate.c | 2 ++ dlls/shdocvw/shdocvw.h | 1 + dlls/shdocvw/webbrowser.c | 7 +++++-- 4 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/shdocvw/dochost.c b/dlls/shdocvw/dochost.c index c3a22f4..908503c 100644 --- a/dlls/shdocvw/dochost.c +++ b/dlls/shdocvw/dochost.c @@ -78,6 +78,7 @@ static void navigate_complete(DocHost *This) SysFreeString(V_BSTR(&url)); if(disp) IDispatch_Release(disp); + This->busy = VARIANT_FALSE; }
void object_available(DocHost *This) diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c index 7e8606f..7ca0b0f 100644 --- a/dlls/shdocvw/navigate.c +++ b/dlls/shdocvw/navigate.c @@ -427,6 +427,8 @@ static void on_before_navigate2(DocHost *This, LPCWSTR url, const BYTE *post_dat dispparams.rgdispidNamedArgs = NULL; dispparams.rgvarg = params;
+ This->busy = VARIANT_TRUE; + V_VT(params) = VT_BOOL|VT_BYREF; V_BOOLREF(params) = cancel;
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h index af647a1..1257b76 100644 --- a/dlls/shdocvw/shdocvw.h +++ b/dlls/shdocvw/shdocvw.h @@ -99,6 +99,7 @@ struct DocHost {
VARIANT_BOOL silent; VARIANT_BOOL offline; + VARIANT_BOOL busy;
ConnectionPointContainer cps; }; diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c index 1262c3c..db6bea6 100644 --- a/dlls/shdocvw/webbrowser.c +++ b/dlls/shdocvw/webbrowser.c @@ -462,8 +462,11 @@ static HRESULT WINAPI WebBrowser_get_LocationURL(IWebBrowser2 *iface, BSTR *Loca static HRESULT WINAPI WebBrowser_get_Busy(IWebBrowser2 *iface, VARIANT_BOOL *pBool) { WebBrowser *This = WEBBROWSER_THIS(iface); - FIXME("(%p)->(%p)\n", This, pBool); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, pBool); + + *pBool = This->doc_host.busy; + return S_OK; }
static HRESULT WINAPI WebBrowser_Quit(IWebBrowser2 *iface)