From d4b291a1e4cff18cdb9de0a31f8a2dd27084d2c3 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 13 May 2015 14:10:57 +0200 Subject: [PATCH] Add need_clear boolean variable --- menu/menu_displaylist.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 8d8e754d2b..49b10f2709 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -1743,6 +1743,7 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) { int ret = 0; bool need_sort = false; + bool need_clear = false; bool need_refresh = false; bool need_push = false; menu_handle_t *menu = menu_driver_get_ptr(); @@ -1760,8 +1761,8 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) menu_list_push(menu_list->menu_stack, info->path, info->label, info->type, info->flags); - menu_navigation_clear(nav, true); ret = menu_entries_push_list(menu, info, info->flags); + need_clear = true; need_push = true; break; case DISPLAYLIST_SETTINGS: @@ -1985,6 +1986,9 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) break; } + if (need_clear) + menu_navigation_clear(nav, true); + if (need_sort) menu_list_sort_on_alt(info->list);