changeset 342:17569bc205fa

js: forgot font destructor
author David Demelier <markand@malikania.fr>
date Sat, 16 Oct 2021 09:47:10 +0200
parents 0c18acf4517e
children 9eb25198d706
files src/libmlk-core-js/core/js-font.c
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/libmlk-core-js/core/js-font.c	Sat Oct 16 09:45:45 2021 +0200
+++ b/src/libmlk-core-js/core/js-font.c	Sat Oct 16 09:47:10 2021 +0200
@@ -148,6 +148,22 @@
 	return 1;
 }
 
+static duk_ret_t
+Font_destructor(duk_context *ctx)
+{
+	struct font *font;
+
+	duk_get_prop_string(ctx, 0, SIGNATURE);
+
+	if ((font = duk_to_pointer(ctx, -1)))
+		font_finish(font);
+
+	duk_pop(ctx);
+	duk_del_prop_string(ctx, 0, SIGNATURE);
+
+	return 0;
+}
+
 static const struct duk_function_list_entry methods[] = {
 	{ "render",     Font_render,    2 },
 	{ "query",      Font_query,     1 },
@@ -171,6 +187,7 @@
 	duk_put_prop_string(ctx, -2, "Style");
 	duk_push_object(ctx);
 	duk_put_function_list(ctx, -1, methods);
+	duk_push_c_function(ctx, Font_destructor, 1);
 	duk_put_prop_string(ctx, -2, "prototype");
 	duk_put_global_string(ctx, "Font");
 }