Commit 7f107fb8 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Store IBinding interface in BSCallback.

parent 38b6665a
...@@ -174,6 +174,7 @@ struct BSCallback { ...@@ -174,6 +174,7 @@ struct BSCallback {
nsISupports *nscontext; nsISupports *nscontext;
IMoniker *mon; IMoniker *mon;
IBinding *binding;
nsProtocolStream *nsstream; nsProtocolStream *nsstream;
}; };
......
...@@ -248,6 +248,8 @@ static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallback *iface) ...@@ -248,6 +248,8 @@ static ULONG WINAPI BindStatusCallback_Release(IBindStatusCallback *iface)
nsIInputStream_Release(NSINSTREAM(This->nsstream)); nsIInputStream_Release(NSINSTREAM(This->nsstream));
if(This->mon) if(This->mon)
IMoniker_Release(This->mon); IMoniker_Release(This->mon);
if(This->binding)
IBinding_Release(This->binding);
mshtml_free(This->headers); mshtml_free(This->headers);
mshtml_free(This); mshtml_free(This);
} }
...@@ -259,7 +261,12 @@ static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallback *ifa ...@@ -259,7 +261,12 @@ static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallback *ifa
DWORD dwReserved, IBinding *pbind) DWORD dwReserved, IBinding *pbind)
{ {
BSCallback *This = STATUSCLB_THIS(iface); BSCallback *This = STATUSCLB_THIS(iface);
FIXME("(%p)->(%ld %p)\n", This, dwReserved, pbind);
TRACE("(%p)->(%ld %p)\n", This, dwReserved, pbind);
IBinding_AddRef(pbind);
This->binding = pbind;
return S_OK; return S_OK;
} }
...@@ -309,6 +316,9 @@ static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *ifac ...@@ -309,6 +316,9 @@ static HRESULT WINAPI BindStatusCallback_OnStopBinding(IBindStatusCallback *ifac
TRACE("(%p)->(%08lx %s)\n", This, hresult, debugstr_w(szError)); TRACE("(%p)->(%08lx %s)\n", This, hresult, debugstr_w(szError));
IBinding_Release(This->binding);
This->binding = NULL;
if(This->nslistener) { if(This->nslistener) {
nsIStreamListener_OnStopRequest(This->nslistener, (nsIRequest*)NSCHANNEL(This->nschannel), nsIStreamListener_OnStopRequest(This->nslistener, (nsIRequest*)NSCHANNEL(This->nschannel),
This->nscontext, NS_OK); This->nscontext, NS_OK);
...@@ -593,6 +603,7 @@ BSCallback *create_bscallback(HTMLDocument *doc, IMoniker *mon) ...@@ -593,6 +603,7 @@ BSCallback *create_bscallback(HTMLDocument *doc, IMoniker *mon)
ret->nslistener = NULL; ret->nslistener = NULL;
ret->nscontext = NULL; ret->nscontext = NULL;
ret->nsstream = NULL; ret->nsstream = NULL;
ret->binding = NULL;
if(mon) if(mon)
IMoniker_AddRef(mon); IMoniker_AddRef(mon);
......
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