Jacek Caban : ieframe: Fixed a typo in IDocObjectService:: FireNavigateComplete2.

Alexandre Julliard julliard at winehq.org
Wed Jan 25 15:14:04 CST 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jan 25 13:59:06 2012 +0100

ieframe: Fixed a typo in IDocObjectService::FireNavigateComplete2.

---

 dlls/ieframe/shellbrowser.c     |    2 +-
 dlls/ieframe/tests/webbrowser.c |   24 +++++++++++++++++++++---
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/dlls/ieframe/shellbrowser.c b/dlls/ieframe/shellbrowser.c
index 86bba68..f9bbc29 100644
--- a/dlls/ieframe/shellbrowser.c
+++ b/dlls/ieframe/shellbrowser.c
@@ -748,7 +748,7 @@ static HRESULT WINAPI DocObjectService_FireNavigateComplete2(
     set_dochost_url(This->doc_host, url);
 
     V_VT(params) = (VT_BYREF|VT_VARIANT);
-    V_BYREF(params) = &url;
+    V_VARIANTREF(params) = &url_var;
 
     V_VT(params+1) = VT_DISPATCH;
     V_DISPATCH(params+1) = (IDispatch*)This->doc_host->wb;
diff --git a/dlls/ieframe/tests/webbrowser.c b/dlls/ieframe/tests/webbrowser.c
index 3b3d133..443834c 100644
--- a/dlls/ieframe/tests/webbrowser.c
+++ b/dlls/ieframe/tests/webbrowser.c
@@ -768,6 +768,26 @@ static void test_OnBeforeNavigate(const VARIANT *disp, const VARIANT *url, const
            *V_BOOLREF(cancel));
 }
 
+static void test_navigatecomplete2(DISPPARAMS *dp)
+{
+    VARIANT *v;
+
+    CHECK_EXPECT(Invoke_NAVIGATECOMPLETE2);
+
+    ok(dp->rgvarg != NULL, "rgvarg == NULL\n");
+    ok(dp->cArgs == 2, "cArgs=%d, expected 2\n", dp->cArgs);
+
+    ok(V_VT(dp->rgvarg) == (VT_BYREF|VT_VARIANT), "V_VT(dp->rgvarg) = %d\n", V_VT(dp->rgvarg));
+    v = V_VARIANTREF(dp->rgvarg);
+    ok(V_VT(v) == VT_BSTR, "V_VT(url) = %d\n", V_VT(v));
+    ok(!strcmp_wa(V_BSTR(v), current_url), "url=%s, expected %s\n", wine_dbgstr_w(V_BSTR(v)), current_url);
+
+    ok(V_VT(dp->rgvarg+1) == VT_DISPATCH, "V_VT(dp->rgvarg+1) = %d\n", V_VT(dp->rgvarg+1));
+    ok(V_DISPATCH(dp->rgvarg+1) == (IDispatch*)wb, "V_DISPATCH=%p, wb=%p\n", V_DISPATCH(dp->rgvarg+1), wb);
+
+    test_ready_state((dwl_flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOBACK)) ? READYSTATE_COMPLETE : READYSTATE_LOADING);
+}
+
 static HRESULT WINAPI WebBrowserEvents2_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid,
         LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
         EXCEPINFO *pExcepInfo, UINT *puArgErr)
@@ -896,9 +916,7 @@ static HRESULT WINAPI WebBrowserEvents2_Invoke(IDispatch *iface, DISPID dispIdMe
         break;
 
     case DISPID_NAVIGATECOMPLETE2:
-        CHECK_EXPECT(Invoke_NAVIGATECOMPLETE2);
-        /* FIXME */
-        test_ready_state((dwl_flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOBACK)) ? READYSTATE_COMPLETE : READYSTATE_LOADING);
+        test_navigatecomplete2(pDispParams);
         break;
 
     case DISPID_PROGRESSCHANGE:




More information about the wine-cvs mailing list