Jacek Caban : mshtml: Call on_start_nsrequest synchronously in async_stop_request is no data was read before .
Alexandre Julliard
julliard at winehq.org
Thu Jun 16 14:28:51 CDT 2011
Module: wine
Branch: master
Commit: 17e6d75ed41bf2207c4206adf63ba835d1e06609
URL: http://source.winehq.org/git/wine.git/?a=commit;h=17e6d75ed41bf2207c4206adf63ba835d1e06609
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Jun 16 16:42:12 2011 +0200
mshtml: Call on_start_nsrequest synchronously in async_stop_request is no data was read before.
---
dlls/mshtml/navigate.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c
index 2d45f09..6d84d3f 100644
--- a/dlls/mshtml/navigate.c
+++ b/dlls/mshtml/navigate.c
@@ -689,6 +689,8 @@ HRESULT start_binding(HTMLWindow *window, HTMLDocumentNode *doc, BSCallback *bsc
IStream *str = NULL;
HRESULT hres;
+ TRACE("(%p %p %p %p)\n", window, doc, bscallback, bctx);
+
bscallback->doc = doc;
/* NOTE: IE7 calls IsSystemMoniker here*/
@@ -1001,11 +1003,6 @@ static void on_stop_nsrequest(nsChannelBSC *This, HRESULT result)
request_result = NS_ERROR_FAILURE;
}
- if(!This->bsc.readed && SUCCEEDED(result)) {
- TRACE("No data read! Calling OnStartRequest\n");
- on_start_nsrequest(This);
- }
-
if(This->nslistener) {
nsres = nsIStreamListener_OnStopRequest(This->nslistener,
(nsIRequest*)&This->nschannel->nsIHttpChannel_iface, This->nscontext,
@@ -1270,6 +1267,11 @@ static HRESULT async_stop_request(nsChannelBSC *This)
{
stop_request_task_t *task;
+ if(!This->bsc.readed) {
+ TRACE("No data read, calling OnStartRequest\n");
+ on_start_nsrequest(This);
+ }
+
task = heap_alloc(sizeof(*task));
if(!task)
return E_OUTOFMEMORY;
More information about the wine-cvs
mailing list