Jacek Caban : mshtml: Moved more code to handle_docobj_load.
Alexandre Julliard
julliard at winehq.org
Thu Oct 7 11:24:24 CDT 2010
Module: wine
Branch: master
Commit: f7910c930400c4f9bcb99ed9914cb2438c5afd4a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f7910c930400c4f9bcb99ed9914cb2438c5afd4a
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Oct 6 21:35:39 2010 +0200
mshtml: Moved more code to handle_docobj_load.
---
dlls/mshtml/nsevents.c | 66 ++++++++++++++++++++++++-----------------------
1 files changed, 34 insertions(+), 32 deletions(-)
diff --git a/dlls/mshtml/nsevents.c b/dlls/mshtml/nsevents.c
index 8dda1e5..85d6e56 100644
--- a/dlls/mshtml/nsevents.c
+++ b/dlls/mshtml/nsevents.c
@@ -178,65 +178,67 @@ static nsresult NSAPI handle_keypress(nsIDOMEventListener *iface,
static void handle_docobj_load(HTMLDocumentObj *doc)
{
- IOleCommandTarget *olecmd = NULL;
HRESULT hres;
- if(!doc->client)
- return;
+ if(doc->nscontainer->editor_controller) {
+ nsIController_Release(doc->nscontainer->editor_controller);
+ doc->nscontainer->editor_controller = NULL;
+ }
- hres = IOleClientSite_QueryInterface(doc->client, &IID_IOleCommandTarget, (void**)&olecmd);
- if(SUCCEEDED(hres)) {
- if(doc->download_state) {
- VARIANT state, progress;
+ if(doc->usermode == EDITMODE)
+ handle_edit_load(&doc->basedoc);
- V_VT(&progress) = VT_I4;
- V_I4(&progress) = 0;
- IOleCommandTarget_Exec(olecmd, NULL, OLECMDID_SETPROGRESSPOS,
- OLECMDEXECOPT_DONTPROMPTUSER, &progress, NULL);
+ if(doc->client) {
+ IOleCommandTarget *olecmd = NULL;
- V_VT(&state) = VT_I4;
- V_I4(&state) = 0;
- IOleCommandTarget_Exec(olecmd, NULL, OLECMDID_SETDOWNLOADSTATE,
- OLECMDEXECOPT_DONTPROMPTUSER, &state, NULL);
- }
+ hres = IOleClientSite_QueryInterface(doc->client, &IID_IOleCommandTarget, (void**)&olecmd);
+ if(SUCCEEDED(hres)) {
+ if(doc->download_state) {
+ VARIANT state, progress;
+
+ V_VT(&progress) = VT_I4;
+ V_I4(&progress) = 0;
+ IOleCommandTarget_Exec(olecmd, NULL, OLECMDID_SETPROGRESSPOS,
+ OLECMDEXECOPT_DONTPROMPTUSER, &progress, NULL);
- IOleCommandTarget_Exec(olecmd, &CGID_ShellDocView, 103, 0, NULL, NULL);
- IOleCommandTarget_Exec(olecmd, &CGID_MSHTML, IDM_PARSECOMPLETE, 0, NULL, NULL);
- IOleCommandTarget_Exec(olecmd, NULL, OLECMDID_HTTPEQUIV_DONE, 0, NULL, NULL);
+ V_VT(&state) = VT_I4;
+ V_I4(&state) = 0;
+ IOleCommandTarget_Exec(olecmd, NULL, OLECMDID_SETDOWNLOADSTATE,
+ OLECMDEXECOPT_DONTPROMPTUSER, &state, NULL);
+ }
- IOleCommandTarget_Release(olecmd);
+ IOleCommandTarget_Exec(olecmd, &CGID_ShellDocView, 103, 0, NULL, NULL);
+ IOleCommandTarget_Exec(olecmd, &CGID_MSHTML, IDM_PARSECOMPLETE, 0, NULL, NULL);
+ IOleCommandTarget_Exec(olecmd, NULL, OLECMDID_HTTPEQUIV_DONE, 0, NULL, NULL);
+
+ IOleCommandTarget_Release(olecmd);
+ }
}
+
doc->download_state = 0;
}
static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event)
{
HTMLDocumentNode *doc = NSEVENTLIST_THIS(iface)->This->doc;
- HTMLDocumentObj *doc_obj;
nsIDOMHTMLElement *nsbody = NULL;
+ HTMLDocumentObj *doc_obj = NULL;
TRACE("(%p)\n", doc);
if(!doc || !doc->basedoc.window)
return NS_ERROR_FAILURE;
- doc_obj = doc->basedoc.doc_obj;
+ if(doc->basedoc.doc_obj && doc->basedoc.doc_obj->basedoc.doc_node == doc)
+ doc_obj = doc->basedoc.doc_obj;
connect_scripts(doc->basedoc.window);
- if(doc_obj->nscontainer->editor_controller) {
- nsIController_Release(doc_obj->nscontainer->editor_controller);
- doc_obj->nscontainer->editor_controller = NULL;
- }
-
- if(doc_obj->usermode == EDITMODE)
- handle_edit_load(&doc_obj->basedoc);
-
- if(doc == doc_obj->basedoc.doc_node)
+ if(doc_obj)
handle_docobj_load(doc_obj);
set_ready_state(doc->basedoc.window, READYSTATE_COMPLETE);
- if(doc == doc_obj->basedoc.doc_node) {
+ if(doc_obj) {
if(doc_obj->view_sink)
IAdviseSink_OnViewChange(doc_obj->view_sink, DVASPECT_CONTENT, -1);
More information about the wine-cvs
mailing list