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

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


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jan 25 16:56:31 2012 +0100

ieframe: Fixed a typo in IDocObjectService::FireDocumentComplete.

---

 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 f9bbc29..91a3bf6 100644
--- a/dlls/ieframe/shellbrowser.c
+++ b/dlls/ieframe/shellbrowser.c
@@ -809,7 +809,7 @@ static HRESULT WINAPI DocObjectService_FireDocumentComplete(
     TRACE("got URL %s\n", debugstr_w(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 443834c..e97cf3f 100644
--- a/dlls/ieframe/tests/webbrowser.c
+++ b/dlls/ieframe/tests/webbrowser.c
@@ -788,6 +788,26 @@ static void test_navigatecomplete2(DISPPARAMS *dp)
     test_ready_state((dwl_flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOBACK)) ? READYSTATE_COMPLETE : READYSTATE_LOADING);
 }
 
+static void test_documentcomplete(DISPPARAMS *dp)
+{
+    VARIANT *v;
+
+    CHECK_EXPECT(Invoke_DOCUMENTCOMPLETE);
+
+    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(READYSTATE_COMPLETE);
+}
+
 static HRESULT WINAPI WebBrowserEvents2_Invoke(IDispatch *iface, DISPID dispIdMember, REFIID riid,
         LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
         EXCEPINFO *pExcepInfo, UINT *puArgErr)
@@ -925,9 +945,7 @@ static HRESULT WINAPI WebBrowserEvents2_Invoke(IDispatch *iface, DISPID dispIdMe
         break;
 
     case DISPID_DOCUMENTCOMPLETE:
-        CHECK_EXPECT(Invoke_DOCUMENTCOMPLETE);
-        /* FIXME */
-        test_ready_state(READYSTATE_COMPLETE);
+        test_documentcomplete(pDispParams);
         break;
 
     case 282: /* FIXME */




More information about the wine-cvs mailing list