Module: wine Branch: master Commit: 5d17e7e4a877d75c024e016b1cc888b31f3fad10 URL: https://gitlab.winehq.org/wine/wine/-/commit/5d17e7e4a877d75c024e016b1cc888b...
Author: Gabriel Ivăncescu gabrielopcode@gmail.com Date: Thu Oct 5 18:57:46 2023 +0300
ieframe: Send the original URL for error pages in FireDocumentComplete notification.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com
---
dlls/ieframe/shellbrowser.c | 8 ++++++++ dlls/ieframe/tests/ie.c | 1 - 2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/ieframe/shellbrowser.c b/dlls/ieframe/shellbrowser.c index 58ff851fb0b..ca229c0ac8b 100644 --- a/dlls/ieframe/shellbrowser.c +++ b/dlls/ieframe/shellbrowser.c @@ -839,6 +839,7 @@ static HRESULT WINAPI DocObjectService_FireDocumentComplete( { ShellBrowser *This = impl_from_IDocObjectService(iface); IHTMLPrivateWindow *priv_window; + const WCHAR *orig_url; VARIANTARG params[2]; DISPPARAMS dp = {params, NULL, 2, 0}; VARIANT url_var; @@ -858,6 +859,13 @@ static HRESULT WINAPI DocObjectService_FireDocumentComplete(
TRACE("got URL %s\n", debugstr_w(url));
+ orig_url = error_url_frag(url); + if(orig_url) { + BSTR tmp = SysAllocString(orig_url); + SysFreeString(url); + url = tmp; + } + V_VT(params) = (VT_BYREF|VT_VARIANT); V_VARIANTREF(params) = &url_var;
diff --git a/dlls/ieframe/tests/ie.c b/dlls/ieframe/tests/ie.c index 8a91efb3af5..d6e1f643952 100644 --- a/dlls/ieframe/tests/ie.c +++ b/dlls/ieframe/tests/ie.c @@ -215,7 +215,6 @@ static HRESULT WINAPI Dispatch_Invoke(IDispatch *iface, DISPID dispIdMember, REF arg = pDispParams->rgvarg; ok(V_VT(arg) == (VT_BYREF | VT_VARIANT), "VT = %d\n", V_VT(arg)); ok(V_VT(V_VARIANTREF(arg)) == VT_BSTR, "VT = %d\n", V_VT(V_VARIANTREF(arg))); - todo_wine_if(called_Invoke_NAVIGATEERROR) ok(!wcscmp(V_BSTR(V_VARIANTREF(arg)), navigate_url), "url = %s\n", wine_dbgstr_w(V_BSTR(V_VARIANTREF(arg))));
arg = pDispParams->rgvarg + 1;