Create RARCH_DRIVER_CTL_UNINIT

This commit is contained in:
twinaphex 2015-12-11 11:23:32 +01:00
parent ab36e92595
commit c491207b78
3 changed files with 15 additions and 12 deletions

View File

@ -1266,7 +1266,7 @@ bool event_command(enum event_command cmd)
case EVENT_CMD_DRIVERS_DEINIT:
{
int flags = DRIVERS_CMD_ALL;
uninit_drivers(flags);
driver_ctl(RARCH_DRIVER_CTL_UNINIT, &flags);
}
break;
case EVENT_CMD_DRIVERS_INIT:
@ -1278,7 +1278,7 @@ bool event_command(enum event_command cmd)
case EVENT_CMD_AUDIO_REINIT:
{
int flags = DRIVER_AUDIO;
uninit_drivers(flags);
driver_ctl(RARCH_DRIVER_CTL_UNINIT, &flags);
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
}
break;

View File

@ -381,7 +381,7 @@ static void init_drivers(int flags)
* Deinitializes drivers.
* @flags determines which drivers get deinitialized.
**/
void uninit_drivers(int flags)
static void uninit_drivers(int flags)
{
#ifdef HAVE_MENU
if (flags & DRIVER_MENU)
@ -439,6 +439,14 @@ bool driver_ctl(enum driver_ctl_state state, void *data)
camera_driver_ctl(RARCH_CAMERA_CTL_DESTROY, NULL);
retro_uninit_libretro_cbs();
break;
case RARCH_DRIVER_CTL_UNINIT:
{
int *flags = (int*)data;
if (!flags)
return false;
uninit_drivers(*flags);
}
return true;
case RARCH_DRIVER_CTL_INIT:
{
int *flags = (int*)data;

View File

@ -175,6 +175,10 @@ enum driver_ctl_state
{
RARCH_DRIVER_CTL_NONE = 0,
RARCH_DRIVER_CTL_DEINIT,
/* Deinitializes drivers.
* @data is a bitmask which determines
* which drivers get deinitialized. */
RARCH_DRIVER_CTL_UNINIT,
/* Initializes drivers.
* @data is a bitmask which determines
* which drivers get initialized. */
@ -216,15 +220,6 @@ enum driver_ctl_state
* Typically, if a driver intends to make use of this, it should
* set this to true at the end of its 'init' function. */
/**
* uninit_drivers:
* @flags : Bitmask of drivers to deinitialize.
*
* Deinitializes drivers.
* @flags determines which drivers get deinitialized.
**/
void uninit_drivers(int flags);
bool find_first_driver(const char *label, char *s, size_t len);
/**