From 0a167127fbc0a655b14508778ea1b9aa85b6e60e Mon Sep 17 00:00:00 2001 From: "K. Lange" Date: Tue, 25 Apr 2023 09:31:49 +0900 Subject: [PATCH] menu: fix incorrect clearing of menu child in has_eventual_child --- lib/menu.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/menu.c b/lib/menu.c index fc8249c2..a4aaa10a 100644 --- a/lib/menu.c +++ b/lib/menu.c @@ -136,7 +136,7 @@ static struct MenuEntryVTable _menu_vtable_MenuEntry_Normal = { }; struct MenuEntry * menu_create_normal(const char * icon, const char * action, const char * title, void (*callback)(struct MenuEntry *)) { - struct MenuEntry_Normal * out = malloc(sizeof(struct MenuEntry_Normal)); + struct MenuEntry_Normal * out = calloc(1,sizeof(struct MenuEntry_Normal)); out->_type = MenuEntry_Normal; out->height = MENU_ENTRY_HEIGHT; @@ -209,7 +209,7 @@ static struct MenuEntryVTable _menu_vtable_MenuEntry_Submenu = { }; struct MenuEntry * menu_create_submenu(const char * icon, const char * action, const char * title) { - struct MenuEntry_Submenu * out = malloc(sizeof(struct MenuEntry_Submenu)); + struct MenuEntry_Submenu * out = calloc(1,sizeof(struct MenuEntry_Submenu)); out->_type = MenuEntry_Submenu; out->height = MENU_ENTRY_HEIGHT; @@ -251,7 +251,7 @@ static struct MenuEntryVTable _menu_vtable_MenuEntry_Separator = { }; struct MenuEntry * menu_create_separator(void) { - struct MenuEntry_Separator * out = malloc(sizeof(struct MenuEntry_Separator)); + struct MenuEntry_Separator * out = calloc(1,sizeof(struct MenuEntry_Separator)); out->_type = MenuEntry_Separator; out->height = 6; @@ -634,7 +634,6 @@ int menu_has_eventual_child(struct MenuList * root, struct MenuList * child) { while (candidate && candidate != child) { if (candidate == root->child) { - root->child = NULL; return 1; } candidate = root->child;