Jacek Caban : mshtml: Moved readystate changes to separated function.

Alexandre Julliard julliard at winehq.org
Tue Nov 3 15:37:18 CST 2009


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Nov  1 19:24:19 2009 +0100

mshtml: Moved readystate changes to separated function.

---

 dlls/mshtml/mshtml_private.h |    1 +
 dlls/mshtml/persist.c        |   10 ++++++++--
 dlls/mshtml/task.c           |    6 ++----
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 89acf46..175dce7 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -684,6 +684,7 @@ void channelbsc_set_channel(nsChannelBSC*,nsChannel*,nsIStreamListener*,nsISuppo
 IMoniker *get_channelbsc_mon(nsChannelBSC*);
 
 void parse_complete(HTMLDocumentObj*);
+void set_ready_state(HTMLWindow*,READYSTATE);
 
 HRESULT HTMLSelectionObject_Create(HTMLDocumentNode*,nsISelection*,IHTMLSelectionObject**);
 HRESULT HTMLTxtRange_Create(HTMLDocumentNode*,nsIDOMRange*,IHTMLTxtRange**);
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c
index 9781481..ec2c830 100644
--- a/dlls/mshtml/persist.c
+++ b/dlls/mshtml/persist.c
@@ -190,8 +190,7 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc, BO
         }
     }
 
-    This->doc_obj->readystate = READYSTATE_LOADING;
-    call_property_onchanged(&This->cp_propnotif, DISPID_READYSTATE);
+    set_ready_state(This->window, READYSTATE_LOADING);
     update_doc(This, UPDATE_TITLE);
 
     HTMLDocument_LockContainer(This->doc_obj, TRUE);
@@ -274,6 +273,13 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc, BO
     return S_OK;
 }
 
+void set_ready_state(HTMLWindow *window, READYSTATE readystate)
+{
+    window->doc_obj->readystate = readystate;
+    if(window->doc_obj->basedoc.window == window)
+        call_property_onchanged(&window->doc_obj->basedoc.cp_propnotif, DISPID_READYSTATE);
+}
+
 static HRESULT get_doc_string(HTMLDocumentNode *This, char **str)
 {
     nsIDOMNode *nsnode;
diff --git a/dlls/mshtml/task.c b/dlls/mshtml/task.c
index 2706523..08f5534 100644
--- a/dlls/mshtml/task.c
+++ b/dlls/mshtml/task.c
@@ -237,8 +237,7 @@ void parse_complete(HTMLDocumentObj *doc)
 
     /* FIXME: IE7 calls EnableModelless(TRUE), EnableModelless(FALSE) and sets interactive state here */
 
-    doc->readystate = READYSTATE_INTERACTIVE;
-    call_property_onchanged(&doc->basedoc.cp_propnotif, DISPID_READYSTATE);
+    set_ready_state(doc->basedoc.window, READYSTATE_INTERACTIVE);
 
     if(doc->client)
         IOleClientSite_QueryInterface(doc->client, &IID_IOleCommandTarget, (void**)&olecmd);
@@ -263,8 +262,7 @@ void parse_complete(HTMLDocumentObj *doc)
         IOleCommandTarget_Release(olecmd);
     }
 
-    doc->readystate = READYSTATE_COMPLETE;
-    call_property_onchanged(&doc->basedoc.cp_propnotif, DISPID_READYSTATE);
+    set_ready_state(doc->basedoc.window, READYSTATE_COMPLETE);
 
     if(doc->frame) {
         static const WCHAR wszDone[] = {'D','o','n','e',0};




More information about the wine-cvs mailing list