static bool menu_list_pop_stack(menu_list_t *list, size_t idx, size_t *directory_ptr, bool animate) { menu_ctx_list_t list_info; bool refresh = false; file_list_t *menu_list = menu_list_get(list, (unsigned)idx); if (menu_list_get_stack_size(list, idx) <= 1) return false; list_info.type = MENU_LIST_PLAIN; list_info.action = 0; if (animate) menu_driver_list_cache(&list_info); if (menu_list->size != 0) { menu_ctx_list_t list_info; list_info.list = menu_list; list_info.idx = menu_list->size - 1; list_info.list_size = menu_list->size - 1; menu_driver_ctl(RARCH_MENU_CTL_LIST_FREE, &list_info); } file_list_pop(menu_list, directory_ptr); menu_driver_list_set_selection(menu_list); if (animate) menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh); return true; }
void menu_list_pop(file_list_t *list, size_t *directory_ptr) { if (list->size != 0) menu_driver_list_free(list, list->size - 1, list->size - 1); file_list_pop(list, directory_ptr); menu_driver_list_set_selection(list); }
void menu_list_pop(file_list_t *list, size_t *directory_ptr) { driver_t *driver = driver_get_ptr(); if (!driver->menu_ctx) goto end; if (list->size != 0) menu_driver_list_delete(list, list->size - 1, list->size - 1); end: file_list_pop(list, directory_ptr); if (!driver->menu_ctx) return; menu_driver_list_set_selection(list); }
static bool menu_list_pop_stack(menu_list_t *list, size_t idx, size_t *directory_ptr) { file_list_t *menu_list = NULL; if (!list) return false; menu_list = list->menu_stack[idx]; if (menu_list_get_stack_size(list, idx) <= 1) return false; menu_driver_list_cache(MENU_LIST_PLAIN, 0); if (menu_list->size != 0) menu_driver_list_free(menu_list, menu_list->size - 1, menu_list->size - 1); file_list_pop(menu_list, directory_ptr); menu_driver_list_set_selection(menu_list); menu_entries_set_refresh(false); return true; }