From 5b188066f1d72c7923658cd4234c81ce66721166 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 22 Aug 2015 00:08:25 +0200 Subject: [PATCH] Revert "Reimplement MENU_ACTION_REFRESH - do this step at menu_iterate_render" This reverts commit 65bc2f3a8207e3ec83938dda113f5c956ec0f6b2. --- menu/menu_entry.c | 11 +++++++++++ menu/menu_input.h | 1 + menu/menu_iterate.c | 9 +-------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/menu/menu_entry.c b/menu/menu_entry.c index 38d208840c..5ac1ab1a39 100644 --- a/menu/menu_entry.c +++ b/menu/menu_entry.c @@ -358,6 +358,9 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action) menu_list_t *menu_list = menu_list_get_ptr(); menu_file_list_cbs_t *cbs = menu_list_get_actiondata_at_offset(menu_list->selection_buf, i); + if (menu_entries_needs_refresh()) + action = MENU_ACTION_REFRESH; + switch (action) { case MENU_ACTION_UP: @@ -405,6 +408,14 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action) ret = cbs->action_select(entry->path, entry->label, entry->type, i); break; + case MENU_ACTION_REFRESH: + if (cbs && cbs->action_refresh) + { + ret = cbs->action_refresh(menu_list->selection_buf, menu_list->menu_stack); + menu_entries_unset_refresh(false); + } + break; + case MENU_ACTION_MESSAGE: { menu_display_t *disp = menu_display_get_ptr(); diff --git a/menu/menu_input.h b/menu/menu_input.h index 00b4e2deb7..45ceb7f90d 100644 --- a/menu/menu_input.h +++ b/menu/menu_input.h @@ -51,6 +51,7 @@ typedef enum menu_action MENU_ACTION_SEARCH, MENU_ACTION_SCAN, MENU_ACTION_CANCEL, + MENU_ACTION_REFRESH, MENU_ACTION_INFO, MENU_ACTION_SELECT, MENU_ACTION_START, diff --git a/menu/menu_iterate.c b/menu/menu_iterate.c index 478735b2d5..f75b93507d 100644 --- a/menu/menu_iterate.c +++ b/menu/menu_iterate.c @@ -548,18 +548,11 @@ end: int menu_iterate_render(void) { const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr(); - menu_handle_t *menu = menu_driver_get_ptr(); - menu_list_t *menu_list = menu_list_get_ptr(); + menu_handle_t *menu = menu_driver_get_ptr(); if (!menu) return -1; - if (menu_entries_needs_refresh()) - { - menu_displaylist_push(menu_list->selection_buf, menu_list->menu_stack); - menu_entries_unset_refresh(false); - } - if (menu->state.fb_is_dirty != menu->state.do_messagebox) menu->state.fb_is_dirty = true;