Jacek Caban : mshtml: Added begining binding code in
IPersistMoniker::Load.
Alexandre Julliard
julliard at wine.codeweavers.com
Sat Jun 3 05:24:43 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: ee8c855f777153c0af27e60c58f933d68b37b90a
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=ee8c855f777153c0af27e60c58f933d68b37b90a
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sat Jun 3 00:41:48 2006 +0200
mshtml: Added begining binding code in IPersistMoniker::Load.
---
dlls/mshtml/navigate.c | 25 +++++++++++++++++++++++++
dlls/mshtml/persist.c | 9 ++++++++-
2 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c
index dc70726..514f2bd 100644
--- a/dlls/mshtml/navigate.c
+++ b/dlls/mshtml/navigate.c
@@ -491,3 +491,28 @@ void hlink_frame_navigate(HTMLDocument *
IMoniker_Release(mon);
}
+
+HRESULT start_binding(BSCallback *bscallback, IMoniker *mon)
+{
+ IStream *str = NULL;
+ IBindCtx *bctx;
+ HRESULT hres;
+
+ hres = CreateAsyncBindCtx(0, STATUSCLB(bscallback), NULL, &bctx);
+ if(FAILED(hres)) {
+ WARN("CreateAsyncBindCtx failed: %08lx\n", hres);
+ return hres;
+ }
+
+ hres = IMoniker_BindToStorage(mon, bctx, NULL, &IID_IStream, (void**)&str);
+ IBindCtx_Release(bctx);
+ if(FAILED(hres)) {
+ WARN("BindToStorage failed: %08lx\n", hres);
+ return hres;
+ }
+
+ if(str)
+ IStream_Release(str);
+
+ return S_OK;
+}
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c
index 55462ad..7127091 100644
--- a/dlls/mshtml/persist.c
+++ b/dlls/mshtml/persist.c
@@ -228,7 +228,12 @@ static HRESULT WINAPI PersistMoniker_Loa
if(post_data_stream)
nsIInputStream_Release(post_data_stream);
+ if(!bscallback->nschannel)
+ ERR("bscallback->nschannel == NULL\n");
+
if(NS_SUCCEEDED(nsres)) {
+ /* FIXME: don't return here (URL Moniker needs to be good enough) */
+
IBindStatusCallback_Release(STATUSCLB(bscallback));
CoTaskMemFree(url);
return S_OK;
@@ -244,10 +249,12 @@ static HRESULT WINAPI PersistMoniker_Loa
if(pibc)
FIXME("not supported pibc\n");
+ hres = start_binding(bscallback, pimkName);
+
IBindStatusCallback_Release(STATUSCLB(bscallback));
CoTaskMemFree(url);
- return S_OK;
+ return hres;
}
static HRESULT WINAPI PersistMoniker_Save(IPersistMoniker *iface, IMoniker *pimkName,
More information about the wine-cvs
mailing list