Commit fb2b06a1 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Don't call start_binding if we use necko to load the page.

parent 836c672d
...@@ -113,7 +113,7 @@ static nsIInputStream *get_post_data_stream(IBindCtx *bctx) ...@@ -113,7 +113,7 @@ static nsIInputStream *get_post_data_stream(IBindCtx *bctx)
return ret; return ret;
} }
static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc) static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc, BOOL *bind_complete)
{ {
BSCallback *bscallback; BSCallback *bscallback;
LPOLESTR url = NULL; LPOLESTR url = NULL;
...@@ -237,6 +237,9 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc) ...@@ -237,6 +237,9 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc)
IBindStatusCallback_Release(STATUSCLB(bscallback)); IBindStatusCallback_Release(STATUSCLB(bscallback));
CoTaskMemFree(url); CoTaskMemFree(url);
if(bind_complete)
*bind_complete = TRUE;
return S_OK; return S_OK;
}else if(nsres != WINE_NS_LOAD_FROM_MONIKER) { }else if(nsres != WINE_NS_LOAD_FROM_MONIKER) {
WARN("LoadURI failed: %08x\n", nsres); WARN("LoadURI failed: %08x\n", nsres);
...@@ -247,6 +250,8 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc) ...@@ -247,6 +250,8 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc)
IBindStatusCallback_Release(STATUSCLB(bscallback)); IBindStatusCallback_Release(STATUSCLB(bscallback));
CoTaskMemFree(url); CoTaskMemFree(url);
if(bind_complete)
*bind_complete = FALSE;
return S_OK; return S_OK;
} }
...@@ -335,15 +340,19 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva ...@@ -335,15 +340,19 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
IMoniker *pimkName, LPBC pibc, DWORD grfMode) IMoniker *pimkName, LPBC pibc, DWORD grfMode)
{ {
HTMLDocument *This = PERSISTMON_THIS(iface); HTMLDocument *This = PERSISTMON_THIS(iface);
BOOL bind_complete = FALSE;
HRESULT hres; HRESULT hres;
TRACE("(%p)->(%x %p %p %08x)\n", This, fFullyAvailable, pimkName, pibc, grfMode); TRACE("(%p)->(%x %p %p %08x)\n", This, fFullyAvailable, pimkName, pibc, grfMode);
hres = set_moniker(This, pimkName, pibc); hres = set_moniker(This, pimkName, pibc, &bind_complete);
if(FAILED(hres)) if(FAILED(hres))
return hres; return hres;
return start_binding(This->bscallback); if(!bind_complete)
return start_binding(This->bscallback);
return S_OK;
} }
static HRESULT WINAPI PersistMoniker_Save(IPersistMoniker *iface, IMoniker *pimkName, static HRESULT WINAPI PersistMoniker_Save(IPersistMoniker *iface, IMoniker *pimkName,
...@@ -571,7 +580,7 @@ static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM ...@@ -571,7 +580,7 @@ static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM
return hres; return hres;
} }
hres = set_moniker(This, mon, NULL); hres = set_moniker(This, mon, NULL, NULL);
IMoniker_Release(mon); IMoniker_Release(mon);
if(FAILED(hres)) if(FAILED(hres))
return hres; return hres;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment