Create RARCH_DRIVER_CTL_UNINIT
This commit is contained in:
parent
ab36e92595
commit
c491207b78
|
@ -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;
|
||||
|
|
10
driver.c
10
driver.c
|
@ -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;
|
||||
|
|
13
driver.h
13
driver.h
|
@ -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);
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue