diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index c969fa7962..c440c833de 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -2034,11 +2034,7 @@ int menu_displaylist_push(file_list_t *list, file_list_t *menu_list) strlcpy(info.path, path, sizeof(info.path)); strlcpy(info.label, label, sizeof(info.label)); - ret = menu_displaylist_deferred_push(&info); - - menu_unset_refresh(); - - return ret; + return menu_displaylist_deferred_push(&info); } /** diff --git a/menu/menu_entry.c b/menu/menu_entry.c index 1cf7d29117..8ba99946b6 100644 --- a/menu/menu_entry.c +++ b/menu/menu_entry.c @@ -491,7 +491,11 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action) case MENU_ACTION_REFRESH: if (cbs && cbs->action_refresh) - return cbs->action_refresh(menu_list->selection_buf, menu_list->menu_stack); + { + int ret = cbs->action_refresh(menu_list->selection_buf, menu_list->menu_stack); + menu_unset_refresh(); + return ret; + } break; case MENU_ACTION_MESSAGE: