Jacek Caban : mshtml: Moved update_window_doc to on_start_nsrequest and update callback' s document if needed.
Alexandre Julliard
julliard at winehq.org
Wed Aug 18 12:10:00 CDT 2010
Module: wine
Branch: master
Commit: 43302910e4d7a7485c24d7abaf455be93047a682
URL: http://source.winehq.org/git/wine.git/?a=commit;h=43302910e4d7a7485c24d7abaf455be93047a682
Author: Jacek Caban <jacek at 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;
More information about the wine-cvs
mailing list