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