summaryrefslogtreecommitdiff
path: root/src/events/event_target.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/events/event_target.c')
-rw-r--r--src/events/event_target.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/events/event_target.c b/src/events/event_target.c
index e17aa9c..69f4dd6 100644
--- a/src/events/event_target.c
+++ b/src/events/event_target.c
@@ -624,7 +624,8 @@ dom_exception _dom_dispatch_node_change_event(struct dom_document *doc,
if (err != DOM_NO_ERR)
goto cleanup;
- dom_event_target *target = et;
+ /* Dispatch the events for its children */
+ dom_event_target *target = et->first_child;
while (target != NULL) {
err = dom_mutation_event_init(evt, t, true, false, NULL,
NULL, NULL, NULL, change);
@@ -641,7 +642,7 @@ dom_exception _dom_dispatch_node_change_event(struct dom_document *doc,
} else if (target->next != NULL) {
target = target->next;
} else {
- while (p != et && target == p->first_child) {
+ while (p != et && target == p->last_child) {
target = p;
p = dom_node_get_parent(p);
}