diff --git a/menu/menu_entries.c b/menu/menu_entries.c index c2fe879b38..6b63bd85af 100644 --- a/menu/menu_entries.c +++ b/menu/menu_entries.c @@ -245,12 +245,7 @@ int menu_entries_push_horizontal_menu_list(menu_handle_t *menu, MENU_FILE_CONTENTLIST_ENTRY, 0); - driver.menu->scroll_indices_size = 0; - menu_entries_build_scroll_indices(list); - menu_entries_refresh(list); - - if (driver.menu_ctx && driver.menu_ctx->populate_entries) - driver.menu_ctx->populate_entries(menu, path, label, menu_type); + menu_list_populate_generic(menu, list, path, label, menu_type); return 0; } @@ -499,12 +494,7 @@ int menu_entries_parse_list( menu_list_sort_on_alt(list); } - driver.menu->scroll_indices_size = 0; - menu_entries_build_scroll_indices(list); - menu_entries_refresh(list); - - if (driver.menu_ctx && driver.menu_ctx->populate_entries) - driver.menu_ctx->populate_entries(driver.menu, dir, label, type); + menu_list_populate_generic(driver.menu, list, dir, label, type); return 0; } diff --git a/menu/menu_entries_cbs.c b/menu/menu_entries_cbs.c index aca7a632fa..caa152f146 100644 --- a/menu/menu_entries_cbs.c +++ b/menu/menu_entries_cbs.c @@ -1622,7 +1622,7 @@ static int deferred_push_core_list_deferred(void *data, void *userdata, menu_list_sort_on_alt(list); - menu_list_populate_generic(list, path, label, type); + menu_list_populate_generic(driver.menu, list, path, label, type); return 0; } @@ -1642,7 +1642,7 @@ static int deferred_push_database_manager_list_deferred(void *data, void *userda menu_list_sort_on_alt(list); - menu_list_populate_generic(list, path, label, type); + menu_list_populate_generic(driver.menu, list, path, label, type); return 0; } @@ -2307,7 +2307,7 @@ static int deferred_push_core_manager_list(void *data, void *userdata, 0, 0); #endif - menu_list_populate_generic(list, path, label, type); + menu_list_populate_generic(driver.menu, list, path, label, type); return 0; } @@ -2363,7 +2363,7 @@ static int deferred_push_history_list(void *data, void *userdata, MENU_FILE_PLAYLIST_ENTRY, 0); } - menu_list_populate_generic(list, path, label, type); + menu_list_populate_generic(driver.menu, list, path, label, type); return 0; } @@ -2390,7 +2390,7 @@ static int deferred_push_content_actions(void *data, void *userdata, menu_list_push(list, "Reset", "restart_content", MENU_SETTING_ACTION_RESET, 0); } - menu_list_populate_generic(list, path, label, type); + menu_list_populate_generic(driver.menu, list, path, label, type); return 0; } diff --git a/menu/menu_list.c b/menu/menu_list.c index 4a4de06ead..56513a9c0e 100644 --- a/menu/menu_list.c +++ b/menu/menu_list.c @@ -306,15 +306,21 @@ void menu_list_sort_on_alt(file_list_t *list) file_list_sort_on_alt(list); } -int menu_list_populate_generic(file_list_t *list, const char *path, +int menu_list_populate_generic(void *data, + file_list_t *list, const char *path, const char *label, unsigned type) { + menu_handle_t *menu = (menu_handle_t*)data; + + if (!menu) + return -1; + driver.menu->scroll_indices_size = 0; menu_entries_build_scroll_indices(list); menu_entries_refresh(list); if (driver.menu_ctx && driver.menu_ctx->populate_entries) - driver.menu_ctx->populate_entries(driver.menu, path, label, type); + driver.menu_ctx->populate_entries(menu, path, label, type); return 0; } diff --git a/menu/menu_list.h b/menu/menu_list.h index 088ca2e87e..d7e9aa7f8c 100644 --- a/menu/menu_list.h +++ b/menu/menu_list.h @@ -94,8 +94,8 @@ void menu_list_get_alt_at_offset(const file_list_t *list, size_t idx, void menu_list_set_alt_at_offset(file_list_t *list, size_t idx, const char *alt); -int menu_list_populate_generic(file_list_t *list, const char *path, - const char *label, unsigned type); +int menu_list_populate_generic(void *data, file_list_t *list, + const char *path, const char *label, unsigned type); #ifdef __cplusplus }