mshtml: Open pages in the native browser in HlinkTarget_Navigate().

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 <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
(cherry picked from commit f29317dcc2)
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
oldstable
Zebediah Figura 2019-02-27 23:45:41 -06:00 committed by Michael Stefaniuc
parent f516b26916
commit 1b9ff0e8ec
1 changed files with 14 additions and 2 deletions

View File

@ -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);
}