Fix view memory leaks

This commit is contained in:
Willy-JL
2024-03-07 05:26:40 +00:00
parent 43781d9332
commit d5e4af482f
2 changed files with 9 additions and 6 deletions

View File

@@ -187,12 +187,14 @@ static void* js_keyboard_create(struct mjs* mjs, mjs_val_t* object) {
}
static void js_keyboard_destroy(void* inst) {
JsKeyboardInst* insts = (JsKeyboardInst*)inst;
byte_input_free(insts->byte_input);
text_input_free(insts->text_input);
view_dispatcher_free(insts->view_dispatcher);
free(insts->data);
free(insts);
JsKeyboardInst* keyboard = (JsKeyboardInst*)inst;
view_dispatcher_remove_view(keyboard->view_dispatcher, JsKeyboardViewByteInput);
byte_input_free(keyboard->byte_input);
view_dispatcher_remove_view(keyboard->view_dispatcher, JsKeyboardViewTextInput);
text_input_free(keyboard->text_input);
view_dispatcher_free(keyboard->view_dispatcher);
free(keyboard->data);
free(keyboard);
}
static const JsModuleDescriptor js_keyboard_desc = {

View File

@@ -129,6 +129,7 @@ static void* js_submenu_create(struct mjs* mjs, mjs_val_t* object) {
static void js_submenu_destroy(void* inst) {
JsSubmenuInst* submenu = inst;
view_dispatcher_remove_view(submenu->view_dispatcher, JsSubmenuViewSubmenu);
submenu_free(submenu->submenu);
view_dispatcher_free(submenu->view_dispatcher);
free(submenu);