mshtml: Don't use wine_uri in nsIIOService::NewChannelFromURI implementation.
This commit is contained in:
parent
74aabe94b1
commit
286249031c
@ -2829,10 +2829,10 @@ static nsresult NSAPI nsIOService_NewFileURI(nsIIOService *iface, nsIFile *aFile
|
|||||||
static nsresult NSAPI nsIOService_NewChannelFromURI(nsIIOService *iface, nsIURI *aURI,
|
static nsresult NSAPI nsIOService_NewChannelFromURI(nsIIOService *iface, nsIURI *aURI,
|
||||||
nsIChannel **_retval)
|
nsIChannel **_retval)
|
||||||
{
|
{
|
||||||
PARSEDURLW parsed_url = {sizeof(PARSEDURLW)};
|
|
||||||
nsChannel *ret;
|
nsChannel *ret;
|
||||||
nsWineURI *wine_uri;
|
nsWineURI *wine_uri;
|
||||||
nsresult nsres;
|
nsresult nsres;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
TRACE("(%p %p)\n", aURI, _retval);
|
TRACE("(%p %p)\n", aURI, _retval);
|
||||||
|
|
||||||
@ -2842,6 +2842,11 @@ static nsresult NSAPI nsIOService_NewChannelFromURI(nsIIOService *iface, nsIURI
|
|||||||
return nsIIOService_NewChannelFromURI(nsio, aURI, _retval);
|
return nsIIOService_NewChannelFromURI(nsio, aURI, _retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!ensure_uri(wine_uri)) {
|
||||||
|
nsIURI_Release(NSURI(wine_uri));
|
||||||
|
return NS_ERROR_UNEXPECTED;
|
||||||
|
}
|
||||||
|
|
||||||
ret = heap_alloc_zero(sizeof(nsChannel));
|
ret = heap_alloc_zero(sizeof(nsChannel));
|
||||||
|
|
||||||
ret->lpHttpChannelVtbl = &nsChannelVtbl;
|
ret->lpHttpChannelVtbl = &nsChannelVtbl;
|
||||||
@ -2855,8 +2860,10 @@ static nsresult NSAPI nsIOService_NewChannelFromURI(nsIIOService *iface, nsIURI
|
|||||||
|
|
||||||
nsIURI_AddRef(aURI);
|
nsIURI_AddRef(aURI);
|
||||||
ret->original_uri = aURI;
|
ret->original_uri = aURI;
|
||||||
ret->url_scheme = wine_uri->wine_url && SUCCEEDED(ParseURLW(wine_uri->wine_url, &parsed_url))
|
|
||||||
? parsed_url.nScheme : URL_SCHEME_UNKNOWN;
|
hres = IUri_GetScheme(wine_uri->uri, &ret->url_scheme);
|
||||||
|
if(FAILED(hres))
|
||||||
|
ret->url_scheme = URL_SCHEME_UNKNOWN;
|
||||||
|
|
||||||
*_retval = NSCHANNEL(ret);
|
*_retval = NSCHANNEL(ret);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user