Create RARCH_MENU_CTL_FIND_DRIVER

This commit is contained in:
twinaphex 2016-02-09 16:49:23 +01:00
parent 5cd66a19b2
commit f604afeede
3 changed files with 13 additions and 6 deletions

View File

@ -454,7 +454,7 @@ bool driver_ctl(enum driver_ctl_state state, void *data)
find_camera_driver();
find_location_driver();
#ifdef HAVE_MENU
find_menu_driver();
menu_driver_ctl(RARCH_MENU_CTL_FIND_DRIVER, NULL);
#endif
break;
case RARCH_DRIVER_CTL_SET_REFRESH_RATE:

View File

@ -105,7 +105,7 @@ const char *config_get_menu_driver_options(void)
return char_list_new_special(STRING_LIST_MENU_DRIVERS, NULL);
}
void find_menu_driver(void)
static bool find_menu_driver(void)
{
int i;
driver_ctx_info_t drv;
@ -133,8 +133,13 @@ void find_menu_driver(void)
menu_driver_ctx = (const menu_ctx_driver_t*)menu_driver_find_handle(0);
if (!menu_driver_ctx)
{
retro_fail(1, "find_menu_driver()");
return false;
}
}
return true;
}
menu_handle_t *menu_driver_get_ptr(void)
@ -533,6 +538,8 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
content_playlist_free(menu_driver_playlist);
menu_driver_playlist = NULL;
break;
case RARCH_MENU_CTL_FIND_DRIVER:
return find_menu_driver();
case RARCH_MENU_CTL_PLAYLIST_INIT:
{
const char *path = (const char*)data;
@ -646,7 +653,8 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
if (menu_driver_data)
return false;
find_menu_driver();
if (!menu_display_ctl(RARCH_MENU_CTL_FIND_DRIVER, NULL))
return false;
menu_driver_data = (menu_handle_t*)menu_init(menu_driver_ctx);

View File

@ -135,7 +135,8 @@ enum rarch_menu_ctl_state
RARCH_MENU_CTL_CONTEXT_DESTROY,
RARCH_MENU_CTL_SHADER_MANAGER_INIT,
RARCH_MENU_CTL_LIST_SET_SELECTION,
RARCH_MENU_CTL_POPULATE_ENTRIES
RARCH_MENU_CTL_POPULATE_ENTRIES,
RARCH_MENU_CTL_FIND_DRIVER
};
typedef enum
@ -348,8 +349,6 @@ const char *menu_driver_find_ident(int index);
**/
const char* config_get_menu_driver_options(void);
void find_menu_driver(void);
menu_handle_t *menu_driver_get_ptr(void);
bool menu_driver_load_image(void *data, menu_image_type_t type);