diff options
author | Michael Drake <michael.drake@codethink.co.uk> | 2016-01-29 14:09:27 +0000 |
---|---|---|
committer | Michael Drake <michael.drake@codethink.co.uk> | 2016-01-29 17:57:21 +0000 |
commit | b4a245f67fe6c40f3aa8ddfe627d28e3513a9463 (patch) | |
tree | 31919e1e71d9576294ff88a313c4492e0d32d226 /src | |
parent | e137aa0f31bcc399658d266487494ef07be185fc (diff) | |
download | libdom-b4a245f67fe6c40f3aa8ddfe627d28e3513a9463.tar.gz libdom-b4a245f67fe6c40f3aa8ddfe627d28e3513a9463.tar.bz2 |
Don't add target event to list of capture/bubbling event targets.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/node.c | 6 |
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], |