Module: wine Branch: master Commit: a031473b1f87b67fbe94d751a610e85e2badaae3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a031473b1f87b67fbe94d751a6...
Author: Jacek Caban jacek@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 */