From 9bb112772754fd9890e22a6ae81958e9f639a151 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 10 Feb 2016 07:17:26 +0100 Subject: [PATCH] Add more state to RARCH_MENU_CTL_DEINIT --- driver.c | 6 +----- menu/menu_driver.c | 4 +++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/driver.c b/driver.c index faec0f3e9d..09c99ff4bd 100644 --- a/driver.c +++ b/driver.c @@ -387,11 +387,7 @@ static void uninit_drivers(int flags) { #ifdef HAVE_MENU if (flags & DRIVER_MENU) - { - menu_driver_ctl(RARCH_MENU_CTL_CONTEXT_DESTROY, NULL); - if (!menu_driver_ctl(RARCH_MENU_CTL_OWNS_DRIVER, NULL)) - menu_driver_ctl(RARCH_MENU_CTL_DEINIT, NULL); - } + menu_driver_ctl(RARCH_MENU_CTL_DEINIT, NULL); #endif if ((flags & DRIVER_LOCATION) && !location_driver_ctl(RARCH_LOCATION_CTL_OWNS_DRIVER, NULL)) diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 6c062ab2ad..871933562c 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -530,6 +530,9 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) case RARCH_MENU_CTL_OWNS_DRIVER: return menu_driver_data_own; case RARCH_MENU_CTL_DEINIT: + menu_driver_ctl(RARCH_MENU_CTL_CONTEXT_DESTROY, NULL); + if (menu_driver_ctl(RARCH_MENU_CTL_OWNS_DRIVER, NULL)) + return true; if (menu_driver_data) { menu_driver_ctl(RARCH_MENU_CTL_PLAYLIST_FREE, NULL); @@ -563,7 +566,6 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data) if (!menu_driver_data || !menu_init()) { - menu_driver_ctl(RARCH_MENU_CTL_DEINIT, NULL); retro_fail(1, "init_menu()"); return false; }