diff --git a/menu/menu_entry.c b/menu/menu_entry.c index 5ac1ab1a39..bd09b26875 100644 --- a/menu/menu_entry.c +++ b/menu/menu_entry.c @@ -359,7 +359,13 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action) 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; + { + if (cbs && cbs->action_refresh) + { + cbs->action_refresh(menu_list->selection_buf, menu_list->menu_stack); + menu_entries_unset_refresh(false); + } + } switch (action) { @@ -407,15 +413,6 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action) if (cbs && cbs->action_select) 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();