Create RARCH_MENU_CTL_DEINIT

This commit is contained in:
twinaphex 2015-12-05 13:04:21 +01:00
parent 3845df84ef
commit 841d6010a5
3 changed files with 7 additions and 4 deletions

View File

@ -442,10 +442,7 @@ void uninit_drivers(int flags)
menu_driver_context_destroy();
if (!menu_driver_ctl(RARCH_MENU_CTL_OWNS_DRIVER, NULL))
{
menu_free(driver->menu);
driver->menu = NULL;
}
menu_driver_ctl(RARCH_MENU_CTL_DEINIT, NULL);
}
#endif

View File

@ -377,6 +377,7 @@ int menu_driver_pointer_tap(unsigned x, unsigned y, unsigned ptr,
bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
{
static bool menu_driver_data_own = false;
driver_t *driver = driver_get_ptr();
switch (state)
{
@ -388,6 +389,10 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
break;
case RARCH_MENU_CTL_OWNS_DRIVER:
return menu_driver_data_own;
case RARCH_MENU_CTL_DEINIT:
menu_free(driver->menu);
driver->menu = NULL;
break;
default:
case RARCH_MENU_CTL_NONE:
break;

View File

@ -65,6 +65,7 @@ typedef enum
enum rarch_menu_ctl_state
{
RARCH_MENU_CTL_NONE = 0,
RARCH_MENU_CTL_DEINIT,
RARCH_MENU_CTL_SET_OWN_DRIVER,
RARCH_MENU_CTL_UNSET_OWN_DRIVER,
RARCH_MENU_CTL_OWNS_DRIVER