summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-05-04 15:35:46 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-05-04 15:35:46 +0100
commit807d2b45f5e5c1cff654cdba2e4043f90b06fd59 (patch)
treef2be7239132c14579c1afcde3aff8882302dde45
parente031876dd52c9d789ec5a3e41156d99962126c2e (diff)
downloadnsgenbind-807d2b45f5e5c1cff654cdba2e4043f90b06fd59.tar.gz
nsgenbind-807d2b45f5e5c1cff654cdba2e4043f90b06fd59.tar.bz2
When operating on Window event attributes, pass NULL to dukky
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
-rw-r--r--src/duk-libdom-generated.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/duk-libdom-generated.c b/src/duk-libdom-generated.c
index 109b237..13194e0 100644
--- a/src/duk-libdom-generated.c
+++ b/src/duk-libdom-generated.c
@@ -47,8 +47,14 @@ output_generated_attribute_user_getter(struct opctx *outc,
return -1; /* not onxxx */
}
+ if (interfacee->u.interface.primary_global) {
+ outputf(outc,
+ "\tdom_event_target *et = NULL;\n");
+ } else {
+ outputf(outc,
+ "\tdom_event_target *et = (dom_event_target *)(((node_private_t *)priv)->node);\n");
+ }
outputf(outc,
- "\tdom_event_target *et = (dom_event_target *)(((node_private_t *)priv)->node);\n"
"\tdom_string *name;\n"
"\tdom_exception exc;\n\n"
"\texc = dom_string_create((const uint8_t *)\"%s\", %ld, &name);\n"
@@ -230,6 +236,14 @@ output_generated_attribute_user_setter(struct opctx *outc,
return -1; /* not onxxx */
}
+ if (interfacee->u.interface.primary_global) {
+ outputf(outc,
+ "\tdom_element *et = NULL;\n");
+ } else {
+ outputf(outc,
+ "\tdom_element *et = (dom_element *)(((node_private_t *)priv)->node);\n");
+ }
+
outputf(outc,
"\t/* handlerfn */\n"
"\tduk_push_this(ctx);\n"
@@ -242,8 +256,7 @@ output_generated_attribute_user_setter(struct opctx *outc,
"\t/* handlerfn this handlers %s handlerfn */\n"
"\tduk_put_prop(ctx, -3);\n"
"\t/* handlerfn this handlers */\n"
- "\tdukky_register_event_listener_for(ctx,\n"
- "\t\t(dom_element *)((node_private_t *)priv)->node,\n"
+ "\tdukky_register_event_listener_for(ctx, et,\n"
"\t\tcorestring_dom_%s, false);\n"
"\treturn 0;\n",
atributee->name + 2,