diff --git a/frontend/menu/menu_entries.c b/frontend/menu/menu_entries.c index 025559001a..f74f6329ca 100644 --- a/frontend/menu/menu_entries.c +++ b/frontend/menu/menu_entries.c @@ -795,9 +795,6 @@ int menu_parse_and_resolve(file_list_t *list, file_list_t *menu_list) RARCH_LOG("label: %s\n", label); #endif - if (!strcmp(label, "deferred_core_list")) - return menu_entries_push_list(driver.menu, list, path, label, type); - if (menu_parse_check(label, type) == -1) return - 1; diff --git a/frontend/menu/menu_entries_cbs.c b/frontend/menu/menu_entries_cbs.c index 9bf9fca7bb..dcf28d2861 100644 --- a/frontend/menu/menu_entries_cbs.c +++ b/frontend/menu/menu_entries_cbs.c @@ -334,9 +334,21 @@ static int action_ok_file_load_with_detect_core(const char *path, return -1; } else if (ret == 0) - menu_entries_push(driver.menu->menu_stack, - g_settings.libretro_directory, "deferred_core_list", - 0, driver.menu->selection_ptr); + { + file_list_push( + driver.menu->menu_stack, + g_settings.libretro_directory, + "deferred_core_list", + 0, + driver.menu->selection_ptr); + menu_clear_navigation(driver.menu); + menu_entries_push_list( + driver.menu, + driver.menu->selection_buf, + g_settings.libretro_directory, + "deferred_core_list", + 0); + } return ret; }