mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-08 02:17:13 +00:00
Contain driver->input_data usage pt. 2
This commit is contained in:
parent
d2f771440b
commit
c9db73e944
2
driver.c
2
driver.c
@ -467,6 +467,6 @@ void uninit_drivers(int flags)
|
||||
video_driver_ctl(RARCH_DISPLAY_CTL_DEINIT, NULL);
|
||||
|
||||
if ((flags & DRIVER_INPUT) && !driver->input_data_own)
|
||||
driver->input_data = NULL;
|
||||
input_driver_destroy();
|
||||
}
|
||||
|
||||
|
@ -762,14 +762,9 @@ static void *d3d_init(const video_info_t *info,
|
||||
d3d_deinit_chain(vid);
|
||||
d3d_init_chain(vid, info);
|
||||
|
||||
if (input && input_data)
|
||||
{
|
||||
*input = driver->input;
|
||||
*input_data = driver->input_data;
|
||||
}
|
||||
input_driver_set(input, input_data);
|
||||
|
||||
driver->video_data_own = true;
|
||||
driver->input_data_own = true;
|
||||
return vid;
|
||||
}
|
||||
}
|
||||
|
@ -241,6 +241,19 @@ bool input_driver_init(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
void input_driver_set(const input_driver_t **input, void **input_data)
|
||||
{
|
||||
driver_t *driver = driver_get_ptr();
|
||||
|
||||
if (input && input_data)
|
||||
{
|
||||
*input = driver->input;
|
||||
*input_data = driver->input_data;
|
||||
}
|
||||
|
||||
driver->input_data_own = true;
|
||||
}
|
||||
|
||||
void input_driver_free(void)
|
||||
{
|
||||
driver_t *driver = driver_get_ptr();
|
||||
@ -249,6 +262,14 @@ void input_driver_free(void)
|
||||
driver->input->free(driver->input_data);
|
||||
}
|
||||
|
||||
void input_driver_destroy(void)
|
||||
{
|
||||
driver_t *driver = driver_get_ptr();
|
||||
|
||||
if (driver)
|
||||
driver->input_data = NULL;
|
||||
}
|
||||
|
||||
bool input_driver_keyboard_mapping_is_blocked(void)
|
||||
{
|
||||
driver_t *driver = driver_get_ptr();
|
||||
|
@ -169,12 +169,16 @@ bool input_driver_init(void);
|
||||
|
||||
void input_driver_free(void);
|
||||
|
||||
void input_driver_destroy(void);
|
||||
|
||||
bool input_driver_keyboard_mapping_is_blocked(void);
|
||||
|
||||
void input_driver_keyboard_mapping_set_block(bool value);
|
||||
|
||||
const input_driver_t *input_get_ptr(void *data);
|
||||
|
||||
void input_driver_set(const input_driver_t **input, void **input_data);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user