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