From 3ec06a3a4cb96d826187db061660b1a59144e4a3 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 28 May 2017 13:34:30 +0200 Subject: [PATCH] Move back to old code prior to commit 85afd63 --- menu/menu_driver.c | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 4ae54b58da..57fd5a3041 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -1584,9 +1584,27 @@ bool menu_driver_list_clear(void *data) return true; } +static void menu_update_libretro_info(void) +{ + struct retro_system_info *info = NULL; + + menu_driver_ctl(RARCH_MENU_CTL_SYSTEM_INFO_GET, + &info); + + if (!info) + return; + + command_event(CMD_EVENT_CORE_INFO_INIT, NULL); + command_event(CMD_EVENT_LOAD_CORE_PERSIST, NULL); +} + static bool menu_driver_init_internal(bool video_is_threaded) { settings_t *settings = config_get_ptr(); + menu_update_libretro_info(); + + if (menu_driver_data) + return true; menu_driver_data = (menu_handle_t*) menu_driver_ctx->init(&menu_userdata, video_is_threaded); @@ -1612,22 +1630,18 @@ static bool menu_driver_init_internal(bool video_is_threaded) return true; } +static bool menu_driver_context_reset(bool video_is_threaded) +{ + if (!menu_driver_ctx || !menu_driver_ctx->context_reset) + return false; + menu_driver_ctx->context_reset(menu_userdata, video_is_threaded); + return true; +} + bool menu_driver_init(bool video_is_threaded) { - struct retro_system_info *info = &menu_driver_system; - - if (info) - { - /* Update menu state which depends on config. */ - command_event(CMD_EVENT_CORE_INFO_INIT, NULL); - command_event(CMD_EVENT_LOAD_CORE_PERSIST, NULL); - } - - if (menu_driver_data || menu_driver_init_internal(video_is_threaded)) - { - if (menu_driver_ctx && menu_driver_ctx->context_reset) - menu_driver_ctx->context_reset(menu_userdata, video_is_threaded); - } + if (menu_driver_init_internal(video_is_threaded)) + return menu_driver_context_reset(video_is_threaded); return false; }