From: Zebediah Figura Subject: [PATCH] mshtml: Open pages in the native browser in HlinkTarget_Navigate(). Message-Id: <20190228054541.20569-1-z.figura12@gmail.com> Date: Wed, 27 Feb 2019 23:45:41 -0600 This matches native Windows behaviour as well, as demonstrated by running the interactive hlink:hlink tests. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44423 Signed-off-by: Zebediah Figura --- dlls/mshtml/persist.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index b82750a85e..0607306586 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -30,6 +30,7 @@ #include "shlguid.h" #include "idispids.h" #include "mimeole.h" +#include "shellapi.h" #define NO_SHLWAPI_REG #include "shlwapi.h" @@ -1187,8 +1188,19 @@ static HRESULT WINAPI HlinkTarget_Navigate(IHlinkTarget *iface, DWORD grfHLNF, L if(pwzJumpLocation) FIXME("JumpLocation not supported\n"); - if(!This->doc_obj->client) - return navigate_new_window(This->window, This->window->uri, NULL, NULL, NULL); + if(!This->doc_obj->client) { + static const WCHAR szOpen[] = {'o','p','e','n',0}; + HRESULT hres; + BSTR uri; + + hres = IUri_GetAbsoluteUri(This->window->uri, &uri); + if (FAILED(hres)) + return hres; + + ShellExecuteW(NULL, szOpen, uri, NULL, NULL, SW_SHOW); + SysFreeString(uri); + return S_OK; + } return IOleObject_DoVerb(&This->IOleObject_iface, OLEIVERB_SHOW, NULL, NULL, -1, NULL, NULL); } -- 2.20.1