Module: wine Branch: master Commit: c36b424ec23a2644baed99344663695cbc4fe445 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c36b424ec23a2644baed99344...
Author: Jacek Caban jacek@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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)