diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index eaa6a3e71f..2cfc3aec2f 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -4227,8 +4227,34 @@ bool menu_displaylist_process(menu_displaylist_info_t *info) return true; } +void menu_displaylist_info_free(menu_displaylist_info_t *info) +{ + if (!info) + return; +#if 0 + if (info->path) + free(info->path); + if (info->path_b) + free(info->path_b); + if (info->path_c) + free(info->path_c); + if (info->exts) + free(info->exts); + if (info->label) + free(info->label); + info->path = NULL; + info->path_b = NULL; + info->path_c = NULL; + info->exts = NULL; + info->label = NULL; +#endif +} + void menu_displaylist_info_init(menu_displaylist_info_t *info) { + if (!info) + return; + info->enum_idx = MSG_UNKNOWN; info->need_sort = false; info->need_refresh = false; diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index fc01aa139b..9bb023f082 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -219,6 +219,8 @@ bool menu_displaylist_process(menu_displaylist_info_t *info); bool menu_displaylist_push(menu_displaylist_ctx_entry_t *entry); +void menu_displaylist_info_free(menu_displaylist_info_t *info); + void menu_displaylist_info_init(menu_displaylist_info_t *info); bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data);