Jacek Caban : mshtml: Set script engine state to SCRIPTSTATE_CONNECTED when page is loaded.

Alexandre Julliard julliard at winehq.org
Sat Mar 29 06:56:54 CDT 2008


Module: wine
Branch: master
Commit: ac6cbb79afa01c85331c3317301e53285123814c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ac6cbb79afa01c85331c3317301e53285123814c

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Mar 28 18:01:15 2008 +0000

mshtml: Set script engine state to SCRIPTSTATE_CONNECTED when page is loaded.

---

 dlls/mshtml/mshtml_private.h |    1 +
 dlls/mshtml/nsevents.c       |    1 +
 dlls/mshtml/script.c         |   10 ++++++++++
 3 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 6d44f32..350ffbf 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -450,6 +450,7 @@ HTMLDOMNode *get_node(HTMLDocument*,nsIDOMNode*);
 void release_nodes(HTMLDocument*);
 
 void release_script_hosts(HTMLDocument*);
+void connect_scripts(HTMLDocument*);
 void doc_insert_script(HTMLDocument*,nsIDOMHTMLScriptElement*);
 
 IHTMLElementCollection *create_all_collection(HTMLDOMNode*);
diff --git a/dlls/mshtml/nsevents.c b/dlls/mshtml/nsevents.c
index 2fb5ab0..eda1b54 100644
--- a/dlls/mshtml/nsevents.c
+++ b/dlls/mshtml/nsevents.c
@@ -136,6 +136,7 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event
     if(!This->doc)
         return NS_OK;
 
+    connect_scripts(This->doc);
     setup_nswindow(This->doc->window);
 
     if(This->editor_controller) {
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index 3388ca1..4dc1b06 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -171,6 +171,16 @@ static void release_script_engine(ScriptHost *This)
     This->script_state = SCRIPTSTATE_UNINITIALIZED;
 }
 
+void connect_scripts(HTMLDocument *doc)
+{
+    ScriptHost *iter;
+
+    LIST_FOR_EACH_ENTRY(iter, &doc->script_hosts, ScriptHost, entry) {
+        if(iter->script_state == SCRIPTSTATE_STARTED)
+            IActiveScript_SetScriptState(iter->script, SCRIPTSTATE_CONNECTED);
+    }
+}
+
 #define ACTSCPSITE_THIS(iface) DEFINE_THIS(ScriptHost, ActiveScriptSite, iface)
 
 static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)




More information about the wine-cvs mailing list