Jacek Caban : mshtml: Don' t dispatch load event if document is already detached from its window.
Alexandre Julliard
julliard at winehq.org
Tue Jan 2 13:19:02 CST 2018
Module: wine
Branch: master
Commit: c36b424ec23a2644baed99344663695cbc4fe445
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c36b424ec23a2644baed99344663695cbc4fe445
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Jan 2 15:07:07 2018 +0100
mshtml: Don't dispatch load event if document is already detached from its window.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/nsevents.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/mshtml/nsevents.c b/dlls/mshtml/nsevents.c
index f0819d6..afe09fb 100644
--- a/dlls/mshtml/nsevents.c
+++ b/dlls/mshtml/nsevents.c
@@ -234,7 +234,8 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event
nsEventListener *This = impl_from_nsIDOMEventListener(iface);
HTMLDocumentNode *doc = This->This->doc;
HTMLDocumentObj *doc_obj = NULL;
- nsresult nsres = NS_OK;
+ DOMEvent *load_event;
+ HRESULT hres;
TRACE("(%p)\n", doc);
@@ -267,27 +268,27 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event
&doc->basedoc.window->base.IHTMLWindow2_iface, 0);
if(doc->nsdoc) {
- DOMEvent *load_event;
- HRESULT hres;
-
hres = create_document_event(doc, EVENTID_LOAD, &load_event);
if(SUCCEEDED(hres)) {
dispatch_event(&doc->node.event_target, load_event);
IDOMEvent_Release(&load_event->IDOMEvent_iface);
}
+ }else {
+ WARN("no nsdoc\n");
+ }
+ if(doc->window) {
hres = create_event_from_nsevent(event, &load_event);
if(SUCCEEDED(hres)) {
dispatch_event(&doc->window->event_target, load_event);
IDOMEvent_Release(&load_event->IDOMEvent_iface);
}
}else {
- ERR("NULL nsdoc\n");
- nsres = NS_ERROR_FAILURE;
+ WARN("no window\n");
}
htmldoc_release(&doc->basedoc);
- return nsres;
+ return NS_OK;
}
static nsresult NSAPI handle_htmlevent(nsIDOMEventListener *iface, nsIDOMEvent *nsevent)
More information about the wine-cvs
mailing list