summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2016-01-29 14:09:27 +0000
committerMichael Drake <michael.drake@codethink.co.uk>2016-01-29 17:57:21 +0000
commitb4a245f67fe6c40f3aa8ddfe627d28e3513a9463 (patch)
tree31919e1e71d9576294ff88a313c4492e0d32d226
parente137aa0f31bcc399658d266487494ef07be185fc (diff)
downloadlibdom-b4a245f67fe6c40f3aa8ddfe627d28e3513a9463.tar.gz
libdom-b4a245f67fe6c40f3aa8ddfe627d28e3513a9463.tar.bz2
Don't add target event to list of capture/bubbling event targets.
-rw-r--r--src/core/node.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/core/node.c b/src/core/node.c
index 45db915..aceab34 100644
--- a/src/core/node.c
+++ b/src/core/node.c
@@ -2377,8 +2377,6 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
/** \todo Report memory exhaustion? */
return DOM_NO_ERR;
}
- targets[ntargets++] = (dom_event_target *)dom_node_ref(et);
- target = target->parent;
while (target != NULL) {
if (ntargets == ntargets_allocated) {
@@ -2412,7 +2410,7 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
}
/* The capture phase */
- for (targetnr = ntargets; targetnr > 1; --targetnr) {
+ for (targetnr = ntargets; targetnr > 0; --targetnr) {
dom_node_internal *node =
(dom_node_internal *) targets[targetnr - 1];
@@ -2443,7 +2441,7 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
/* Bubbling phase */
evt->phase = DOM_BUBBLING_PHASE;
- for (targetnr = 1; targetnr < ntargets; ++targetnr) {
+ for (targetnr = 0; targetnr < ntargets; ++targetnr) {
dom_node_internal *node =
(dom_node_internal *) targets[targetnr];
err = _dom_event_target_dispatch(targets[targetnr],