Module: wine Branch: master Commit: fb2b06a144fdb51cf7821a6dba3b811b6e7d382d URL: http://source.winehq.org/git/wine.git/?a=commit;h=fb2b06a144fdb51cf7821a6dba...
Author: Jacek Caban jacek@codeweavers.com Date: Sat May 12 16:13:16 2007 +0200
mshtml: Don't call start_binding if we use necko to load the page.
---
dlls/mshtml/persist.c | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index 397a307..2cc80ec 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -113,7 +113,7 @@ static nsIInputStream *get_post_data_stream(IBindCtx *bctx) 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; LPOLESTR url = NULL; @@ -237,6 +237,9 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc)
IBindStatusCallback_Release(STATUSCLB(bscallback)); CoTaskMemFree(url); + + if(bind_complete) + *bind_complete = TRUE; return S_OK; }else if(nsres != WINE_NS_LOAD_FROM_MONIKER) { WARN("LoadURI failed: %08x\n", nsres); @@ -247,6 +250,8 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc) IBindStatusCallback_Release(STATUSCLB(bscallback)); CoTaskMemFree(url);
+ if(bind_complete) + *bind_complete = FALSE; return S_OK; }
@@ -335,15 +340,19 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva IMoniker *pimkName, LPBC pibc, DWORD grfMode) { HTMLDocument *This = PERSISTMON_THIS(iface); + BOOL bind_complete = FALSE; HRESULT hres;
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)) 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, @@ -571,7 +580,7 @@ static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM return hres; }
- hres = set_moniker(This, mon, NULL); + hres = set_moniker(This, mon, NULL, NULL); IMoniker_Release(mon); if(FAILED(hres)) return hres;