diff options
author | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-13 11:51:54 +0000 |
---|---|---|
committer | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-13 11:51:54 +0000 |
commit | f7d7c296398ef6cee6025ff4d8484a74bca2d554 (patch) | |
tree | cf82ae5aa5e8ca0c459dab0deea6ed0a4034505d /src/events/event.c | |
parent | e02d9eb6661546a13b4caad8f1c03e38354ece3d (diff) | |
download | libdom-f7d7c296398ef6cee6025ff4d8484a74bca2d554.tar.gz libdom-f7d7c296398ef6cee6025ff4d8484a74bca2d554.tar.bz2 |
1. Fix a string intern bug.
2. Reset the fields when finalise a dom_event.
svn path=/trunk/dom/; revision=9247
Diffstat (limited to 'src/events/event.c')
-rw-r--r-- | src/events/event.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/events/event.c b/src/events/event.c index f9caa0b..9330edf 100644 --- a/src/events/event.c +++ b/src/events/event.c @@ -59,8 +59,6 @@ dom_exception _dom_event_initialise(struct dom_document *doc, evt->namespace = NULL; - evt->timestamp = time(NULL); - evt->refcnt = 1; evt->in_dispatch = false; @@ -78,6 +76,17 @@ void _dom_event_finalise(struct dom_document *doc, struct dom_event *evt) lwc_context_string_unref(ctx, evt->type); if (evt->namespace != NULL) lwc_context_string_unref(ctx, evt->namespace); + + evt->stop = false; + evt->stop_now = false; + evt->prevent_default = false; + evt->custom = false; + + evt->type = NULL; + + evt->namespace = NULL; + + evt->in_dispatch = false; } /* The virtual destroy function */ @@ -253,6 +262,8 @@ dom_exception _dom_event_init(dom_event *evt, struct dom_string *type, evt->bubble = bubble; evt->cancelable = cancelable; + evt->timestamp = time(NULL); + return DOM_NO_ERR; } |