mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 20:59:54 +00:00
mshtml: Avoid asynchronous parse_complete call.
This commit is contained in:
parent
d607976a74
commit
8507db18a8
@ -312,10 +312,8 @@ static void call_explorer_69(HTMLDocumentObj *doc)
|
|||||||
FIXME("handle result\n");
|
FIXME("handle result\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parse_complete_proc(task_t *task)
|
static void parse_complete(HTMLDocumentObj *doc)
|
||||||
{
|
{
|
||||||
HTMLDocumentObj *doc = ((docobj_task_t*)task)->doc;
|
|
||||||
|
|
||||||
TRACE("(%p)\n", doc);
|
TRACE("(%p)\n", doc);
|
||||||
|
|
||||||
if(doc->usermode == EDITMODE)
|
if(doc->usermode == EDITMODE)
|
||||||
@ -328,35 +326,24 @@ static void parse_complete_proc(task_t *task)
|
|||||||
call_explorer_69(doc);
|
call_explorer_69(doc);
|
||||||
|
|
||||||
/* FIXME: IE7 calls EnableModelless(TRUE), EnableModelless(FALSE) and sets interactive state here */
|
/* FIXME: IE7 calls EnableModelless(TRUE), EnableModelless(FALSE) and sets interactive state here */
|
||||||
|
|
||||||
set_ready_state(doc->basedoc.window, READYSTATE_INTERACTIVE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handle_end_load(HTMLDocumentNode *This)
|
static void handle_end_load(HTMLDocumentNode *This)
|
||||||
{
|
{
|
||||||
docobj_task_t *task;
|
|
||||||
|
|
||||||
TRACE("\n");
|
TRACE("\n");
|
||||||
|
|
||||||
if(!This->basedoc.doc_obj)
|
if(!This->basedoc.doc_obj)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(This != This->basedoc.doc_obj->basedoc.doc_node) {
|
if(This == This->basedoc.doc_obj->basedoc.doc_node) {
|
||||||
set_ready_state(This->basedoc.window, READYSTATE_INTERACTIVE);
|
/*
|
||||||
return;
|
* This should be done in the worker thread that parses HTML,
|
||||||
|
* but we don't have such thread (Gecko parses HTML for us).
|
||||||
|
*/
|
||||||
|
parse_complete(This->basedoc.doc_obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
task = heap_alloc(sizeof(docobj_task_t));
|
set_ready_state(This->basedoc.window, READYSTATE_INTERACTIVE);
|
||||||
if(!task)
|
|
||||||
return;
|
|
||||||
|
|
||||||
task->doc = This->basedoc.doc_obj;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This should be done in the worker thread that parses HTML,
|
|
||||||
* but we don't have such thread (Gecko parses HTML for us).
|
|
||||||
*/
|
|
||||||
push_task(&task->header, &parse_complete_proc, This->basedoc.doc_obj->basedoc.task_magic);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static nsresult NSAPI nsRunnable_Run(nsIRunnable *iface)
|
static nsresult NSAPI nsRunnable_Run(nsIRunnable *iface)
|
||||||
|
Loading…
Reference in New Issue
Block a user