diff --git a/driver.c b/driver.c index 6f99b416ea..965a0ceb5d 100644 --- a/driver.c +++ b/driver.c @@ -396,15 +396,6 @@ void driver_uninit(int flags) core_info_deinit_list(); core_info_free_current_core(); -#ifndef HAVE_DYNAMIC - if (frontend_driver_has_fork()) -#endif - { - rarch_system_info_t *system = runloop_get_system_info(); - libretro_free_system_info(&system->info); - memset(&system->info, 0, sizeof(struct retro_system_info)); - } - #ifdef HAVE_MENU if (flags & DRIVER_MENU_MASK) menu_driver_ctl(RARCH_MENU_CTL_DEINIT, NULL); diff --git a/menu/menu_driver.c b/menu/menu_driver.c index a809b6f9fd..0a38828ef8 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -1824,6 +1824,15 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) free(menu_userdata); menu_userdata = NULL; +#ifndef HAVE_DYNAMIC + if (frontend_driver_has_fork()) +#endif + { + rarch_system_info_t *system = runloop_get_system_info(); + libretro_free_system_info(&system->info); + memset(&system->info, 0, sizeof(struct retro_system_info)); + } + if (menu_display_msg_queue) msg_queue_free(menu_display_msg_queue);