diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index 650745be82af580296af5a04afa0d6c93d4cd93d..01da4acf9cdd9b8f06f2e24154871624e46afee9 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -2058,6 +2058,9 @@ static nsresult NSAPI nsURI_Clone(nsIURL *iface, nsIURI **_retval) TRACE("(%p)->(%p)\n", This, _retval); + if(!ensure_uri(This)) + return NS_ERROR_UNEXPECTED; + if(This->nsuri) { nsres = nsIURI_Clone(This->nsuri, &nsuri); if(NS_FAILED(nsres)) { @@ -2072,12 +2075,9 @@ static nsresult NSAPI nsURI_Clone(nsIURL *iface, nsIURI **_retval) return nsres; } - set_wine_url(wine_uri, This->wine_url); - - if(This->uri) { - IUri_AddRef(This->uri); - wine_uri->uri = This->uri; - } + wine_uri->uri = This->uri; + IUri_AddRef(wine_uri->uri); + sync_wine_url(wine_uri); *_retval = NSURI(wine_uri); return NS_OK;