Module: wine Branch: master Commit: f792ada40fcbb755f09f3497277fa11adcf79233 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f792ada40fcbb755f09f349727...
Author: Jacek Caban jacek@codeweavers.com Date: Sun Mar 23 02:15:20 2008 +0100
mshtml: Don't access BSCallback directly in nsio.c.
---
dlls/mshtml/mshtml_private.h | 2 ++ dlls/mshtml/navigate.c | 14 ++++++++++++++ dlls/mshtml/nsio.c | 22 ++-------------------- 3 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index d26250e..66bb11d 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -434,6 +434,8 @@ HRESULT load_stream(BSCallback*,IStream*); void set_document_bscallback(HTMLDocument*,BSCallback*); void set_current_mon(HTMLDocument*,IMoniker*);
+void channelbsc_set_channel(BSCallback*,nsChannel*,nsIStreamListener*,nsISupports*); + IHTMLSelectionObject *HTMLSelectionObject_Create(HTMLDocument*,nsISelection*); IHTMLTxtRange *HTMLTxtRange_Create(HTMLDocument*,nsIDOMRange*); IHTMLStyle *HTMLStyle_Create(nsIDOMCSSStyleDeclaration*); diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c index cc48b93..66cea25 100644 --- a/dlls/mshtml/navigate.c +++ b/dlls/mshtml/navigate.c @@ -908,3 +908,17 @@ HRESULT load_stream(BSCallback *bscallback, IStream *stream)
return hres; } + +void channelbsc_set_channel(BSCallback *This, nsChannel *channel, nsIStreamListener *listener, nsISupports *context) +{ + nsIChannel_AddRef(NSCHANNEL(channel)); + This->nschannel = channel; + + nsIStreamListener_AddRef(listener); + This->nslistener = listener; + + if(context) { + nsISupports_AddRef(context); + This->nscontext = context; + } +} diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index d55546d..8c996b8 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -685,16 +685,7 @@ static nsresult async_open_doc_uri(nsChannel *This, NSContainer *container, *open = FALSE;
if(container->bscallback) { - nsIChannel_AddRef(NSCHANNEL(This)); - container->bscallback->nschannel = This; - - nsIStreamListener_AddRef(listener); - container->bscallback->nslistener = listener; - - if(context) { - nsISupports_AddRef(context); - container->bscallback->nscontext = context; - } + channelbsc_set_channel(container->bscallback, This, listener, context);
if(container->doc && container->doc->mime) { DWORD len; @@ -781,16 +772,7 @@ static nsresult async_open(nsChannel *This, NSContainer *container, nsIStreamLis bscallback = create_bscallback(mon); IMoniker_Release(mon);
- nsIChannel_AddRef(NSCHANNEL(This)); - bscallback->nschannel = This; - - nsIStreamListener_AddRef(listener); - bscallback->nslistener = listener; - - if(context) { - nsISupports_AddRef(context); - bscallback->nscontext = context; - } + channelbsc_set_channel(bscallback, This, listener, context);
task = heap_alloc(sizeof(task_t));