diff --git a/menu/menu_driver.c b/menu/menu_driver.c index f8fdabe748..4564eefa6c 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -593,7 +593,7 @@ void *menu_init(const void *data) strlcpy(settings->menu.driver, menu_ctx->ident, sizeof(settings->menu.driver)); - if (!menu_entries_init(menu)) + if (!menu_entries_init()) goto error; if (!runloop_ctl(RUNLOOP_CTL_CURRENT_CORE_INIT, NULL)) diff --git a/menu/menu_entries.c b/menu/menu_entries.c index 192d5f26a0..a076c48925 100644 --- a/menu/menu_entries.c +++ b/menu/menu_entries.c @@ -540,10 +540,9 @@ void menu_entries_unset_refresh(bool nonblocking) } } -bool menu_entries_init(void *data) +bool menu_entries_init(void) { - menu_entries_t *entries = (menu_entries_t*) - calloc(1, sizeof(*entries)); + menu_entries_t *entries = (menu_entries_t*)calloc(1, sizeof(*entries)); if (!entries) goto error; @@ -551,10 +550,13 @@ bool menu_entries_init(void *data) if (!(entries->menu_list = (menu_list_t*)menu_list_new())) goto error; - menu_entries_data = (struct menu_entries*)entries; - entries->list_settings = menu_setting_new(); + if (!entries->list_settings) + goto error; + + menu_entries_data = (struct menu_entries*)entries; + return true; error: diff --git a/menu/menu_entries.h b/menu/menu_entries.h index e448616cc4..2ef638b967 100644 --- a/menu/menu_entries.h +++ b/menu/menu_entries.h @@ -134,7 +134,7 @@ file_list_t *menu_entries_get_menu_stack_ptr(size_t idx); void menu_entries_push(file_list_t *list, const char *path, const char *label, unsigned type, size_t directory_ptr, size_t entry_idx); -bool menu_entries_init(void *data); +bool menu_entries_init(void); void menu_entries_free(void);