diff --git a/file_list.c b/file_list.c index d3403b0eb2..7668c195f2 100644 --- a/file_list.c +++ b/file_list.c @@ -152,7 +152,9 @@ void *file_list_get_userdata_at_offset(const file_list_t *list, size_t index) void *file_list_get_actiondata_at_offset(const file_list_t *list, size_t index) { - return list->list[index].actiondata; + if (list) + return list->list[index].actiondata; + return NULL; } void *file_list_get_last_actiondata(const file_list_t *list) diff --git a/frontend/menu/backend/menu_common_backend.c b/frontend/menu/backend/menu_common_backend.c index a70aff4f80..57dfdbd2e3 100644 --- a/frontend/menu/backend/menu_common_backend.c +++ b/frontend/menu/backend/menu_common_backend.c @@ -544,7 +544,7 @@ static int menu_common_iterate(unsigned action) const char *label = NULL; unsigned scroll_speed = 0, fast_scroll_speed = 0; menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*) - file_list_get_actiondata_at_offset(driver.menu->selection_buf, + menu_list_get_actiondata_at_offset(driver.menu->selection_buf, driver.menu->selection_ptr); menu_list_get_last_stack(driver.menu->menu_stack, NULL, &label, &type); diff --git a/frontend/menu/menu_list.c b/frontend/menu/menu_list.c index e69589aa6b..7c0af55953 100644 --- a/frontend/menu/menu_list.c +++ b/frontend/menu/menu_list.c @@ -75,6 +75,13 @@ void menu_list_get_last_stack(const file_list_t *list, file_list_get_last(list, path, label, file_type); } +void *menu_list_get_actiondata_at_offset(const file_list_t *list, size_t index) +{ + if (list) + return file_list_get_actiondata_at_offset(list, index); + return NULL; +} + void *menu_list_get_last_stack_actiondata(const file_list_t *list) { if (list) diff --git a/frontend/menu/menu_list.h b/frontend/menu/menu_list.h index 45edee001b..15d8fc7104 100644 --- a/frontend/menu/menu_list.h +++ b/frontend/menu/menu_list.h @@ -41,6 +41,8 @@ void menu_list_pop_stack_by_needle(file_list_t *list, void menu_list_get_at_offset(const file_list_t *list, size_t index, const char **path, const char **label, unsigned *file_type); +void *menu_list_get_actiondata_at_offset(const file_list_t *list, size_t index); + size_t menu_list_get_stack_size(void); size_t menu_list_get_size(void);