diff --git a/menu/menu.c b/menu/menu.c index abece54917..a6511cfe97 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -67,7 +67,7 @@ static void menu_update_libretro_info(struct retro_system_info *info) if (driver.menu_ctx && driver.menu_ctx->context_reset) driver.menu_ctx->context_reset(); - rarch_update_system_info(info, NULL); + rarch_main_command(RARCH_CMD_LOAD_CORE_PERSIST); } static void menu_environment_get(int *argc, char *argv[], diff --git a/retroarch.c b/retroarch.c index 41ad4227f7..698a129fa8 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2168,19 +2168,22 @@ bool rarch_main_command(unsigned cmd) rarch_main_command(RARCH_CMD_QUIT); #endif break; - case RARCH_CMD_LOAD_CORE: + case RARCH_CMD_LOAD_CORE_PERSIST: { #ifdef HAVE_MENU menu_handle_t *menu = menu_driver_resolve(); if (menu) rarch_update_system_info(&g_extern.menu.info, &menu->load_no_content); -#endif -#ifndef HAVE_DYNAMIC - rarch_main_command(RARCH_CMD_QUIT); #endif } break; + case RARCH_CMD_LOAD_CORE: + rarch_main_command(RARCH_CMD_LOAD_CORE_PERSIST); +#ifndef HAVE_DYNAMIC + rarch_main_command(RARCH_CMD_QUIT); +#endif + break; case RARCH_CMD_LOAD_STATE: /* Immutable - disallow savestate load when * we absolutely cannot change game state. */ diff --git a/retroarch.h b/retroarch.h index 86753e69fd..79daaf3e6d 100644 --- a/retroarch.h +++ b/retroarch.h @@ -34,6 +34,7 @@ enum basic_event RARCH_CMD_LOAD_CONTENT_PERSIST, /* Loads core. */ RARCH_CMD_LOAD_CORE, + RARCH_CMD_LOAD_CORE_PERSIST, RARCH_CMD_LOAD_STATE, RARCH_CMD_SAVE_STATE, /* Takes screenshot. */