Jacek Caban : mshtml: Moved update_window_doc to on_start_nsrequest and update callback' s document if needed.
Module: wine Branch: master Commit: 43302910e4d7a7485c24d7abaf455be93047a682 URL: http://source.winehq.org/git/wine.git/?a=commit;h=43302910e4d7a7485c24d7abaf... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Aug 18 13:38:48 2010 +0200 mshtml: Moved update_window_doc to on_start_nsrequest and update callback's document if needed. --- dlls/mshtml/navigate.c | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c index 64830c3..086154f 100644 --- a/dlls/mshtml/navigate.c +++ b/dlls/mshtml/navigate.c @@ -964,7 +964,7 @@ struct nsChannelBSC { nsProtocolStream *nsstream; }; -static void on_start_nsrequest(nsChannelBSC *This) +static HRESULT on_start_nsrequest(nsChannelBSC *This) { nsresult nsres; @@ -974,8 +974,20 @@ static void on_start_nsrequest(nsChannelBSC *This) nsres = nsIStreamListener_OnStartRequest(This->nslistener, (nsIRequest*)NSCHANNEL(This->nschannel), This->nscontext); - if(NS_FAILED(nsres)) + if(NS_FAILED(nsres)) { FIXME("OnStartRequest failed: %08x\n", nsres); + return E_FAIL; + } + + if(This->window) { + update_window_doc(This->window); + if(This->window->doc != This->bsc.doc) + This->bsc.doc = This->window->doc; + if(This->window->readystate != READYSTATE_LOADING) + set_ready_state(This->window, READYSTATE_LOADING); + } + + return S_OK; } static void on_stop_nsrequest(nsChannelBSC *This, HRESULT result) @@ -1054,12 +1066,6 @@ static HRESULT read_stream_data(nsChannelBSC *This, IStream *stream) } on_start_nsrequest(This); - - if(This->window) { - update_window_doc(This->window); - if(This->window->readystate != READYSTATE_LOADING) - set_ready_state(This->window, READYSTATE_LOADING); - } } This->bsc.readed += This->nsstream->buf_size;
participants (1)
-
Alexandre Julliard