shdocvw: Support URLs passed by reference in WebBrowser_Navigate2.
This commit is contained in:
parent
1e23e88914
commit
a3575824ea
@ -724,6 +724,7 @@ static HRESULT WINAPI WebBrowser_Navigate2(IWebBrowser2 *iface, VARIANT *URL, VA
|
|||||||
VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
|
VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
|
||||||
{
|
{
|
||||||
WebBrowser *This = WEBBROWSER_THIS(iface);
|
WebBrowser *This = WEBBROWSER_THIS(iface);
|
||||||
|
LPCWSTR url;
|
||||||
|
|
||||||
TRACE("(%p)->(%p %p %p %p %p)\n", This, URL, Flags, TargetFrameName, PostData, Headers);
|
TRACE("(%p)->(%p %p %p %p %p)\n", This, URL, Flags, TargetFrameName, PostData, Headers);
|
||||||
|
|
||||||
@ -733,12 +734,20 @@ static HRESULT WINAPI WebBrowser_Navigate2(IWebBrowser2 *iface, VARIANT *URL, VA
|
|||||||
if(!URL)
|
if(!URL)
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
||||||
if(V_VT(URL) != VT_BSTR) {
|
switch (V_VT(URL))
|
||||||
|
{
|
||||||
|
case VT_BSTR:
|
||||||
|
url = V_BSTR(URL);
|
||||||
|
break;
|
||||||
|
case VT_BSTR|VT_BYREF:
|
||||||
|
url = *V_BSTRREF(URL);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
FIXME("Unsupported V_VT(URL) %d\n", V_VT(URL));
|
FIXME("Unsupported V_VT(URL) %d\n", V_VT(URL));
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
return navigate_url(&This->doc_host, V_BSTR(URL), Flags, TargetFrameName, PostData, Headers);
|
return navigate_url(&This->doc_host, url, Flags, TargetFrameName, PostData, Headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI WebBrowser_QueryStatusWB(IWebBrowser2 *iface, OLECMDID cmdID, OLECMDF *pcmdf)
|
static HRESULT WINAPI WebBrowser_QueryStatusWB(IWebBrowser2 *iface, OLECMDID cmdID, OLECMDF *pcmdf)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user