diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2015-10-31 10:52:13 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2015-10-31 10:52:20 +0100 |
commit | 2cfac4a5dd97de052b089c1df035ee4046687cb9 (patch) | |
tree | 1b084a3c43cf0b2a0033f87c976422be798986a1 /src/core | |
parent | 367ffae6cc52e00e7ce00952e3c81484a651c8f4 (diff) | |
download | libdom-2cfac4a5dd97de052b089c1df035ee4046687cb9.tar.gz libdom-2cfac4a5dd97de052b089c1df035ee4046687cb9.tar.bz2 |
Fix end-of-event phasing
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/node.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/core/node.c b/src/core/node.c index 704d7e5..abfa38c 100644 --- a/src/core/node.c +++ b/src/core/node.c @@ -2461,19 +2461,12 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et, if (dei->actions == NULL) goto cleanup; - /* The end callback of default action */ - if (evt->prevent_default != true) { - dom_default_action_callback cb = dei->actions(evt->type, - DOM_DEFAULT_ACTION_END, &pw); - if (cb != NULL) { - cb(evt, pw); - } - } - - /* The prevented callback of default action */ - if (evt->prevent_default != true) { - dom_default_action_callback cb = dei->actions(evt->type, - DOM_DEFAULT_ACTION_PREVENTED, &pw); + if (dei->actions != NULL) { + dom_default_action_phase phase = DOM_DEFAULT_ACTION_END; + if (evt->prevent_default == true) + phase = DOM_DEFAULT_ACTION_PREVENTED; + dom_default_action_callback cb = dei->actions(evt->type, phase, + &pw); if (cb != NULL) { cb(evt, pw); } |