Skip to content

Commit 48a418d

Browse files
committed
events: event: Ensure event structure is fully initialised
Based on patch by Shaun Mirani.
1 parent 15811b3 commit 48a418d

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/events/event.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#include <assert.h>
99
#include <stdlib.h>
10+
#include <string.h>
1011
#include <time.h>
1112

1213
#include "events/event.h"
@@ -45,18 +46,15 @@ void _dom_event_destroy(dom_event *evt)
4546
/* Initialise function */
4647
dom_exception _dom_event_initialise(dom_event *evt)
4748
{
48-
evt->stop = false;
49-
evt->stop_now = false;
50-
evt->prevent_default = false;
51-
evt->custom = false;
49+
/* Extract what should be retained. */
50+
const struct dom_event_private_vtable *vtable = evt->vtable;
5251

53-
evt->type = NULL;
54-
55-
evt->namespace = NULL;
52+
/* Clear everything */
53+
memset(evt, 0, sizeof(*evt));
5654

55+
/* Set initial values */
5756
evt->refcnt = 1;
58-
evt->in_dispatch = false;
59-
evt->is_initialised = false;
57+
evt->vtable = vtable;
6058
evt->is_trusted = true;
6159

6260
return DOM_NO_ERR;

0 commit comments

Comments
 (0)