Jacek Caban : mshtml: Don'
t call start_binding if we use necko to load the page.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon May 14 10:52:41 CDT 2007
Module: wine
Branch: master
Commit: fb2b06a144fdb51cf7821a6dba3b811b6e7d382d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fb2b06a144fdb51cf7821a6dba3b811b6e7d382d
Author: Jacek Caban <jacek at 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;
More information about the wine-cvs
mailing list