Jared Lapsley : shdocvw: WebBrowser_get_Busy implementation.

Alexandre Julliard julliard at winehq.org
Sat Mar 15 05:53:52 CDT 2008


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

Author: Jared Lapsley <jared151 at 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)




More information about the wine-cvs mailing list