Create RARCH_MENU_CTL_INIT

This commit is contained in:
twinaphex 2016-02-09 16:45:28 +01:00
parent a306d3acc7
commit 5cd66a19b2
3 changed files with 25 additions and 18 deletions

View File

@ -362,7 +362,7 @@ static void init_drivers(int flags)
if (flags & DRIVER_MENU)
{
init_menu();
menu_driver_ctl(RARCH_MENU_CTL_INIT, NULL);
menu_driver_ctl(RARCH_MENU_CTL_CONTEXT_RESET, NULL);
}
#endif

View File

@ -286,21 +286,6 @@ error:
return NULL;
}
void init_menu(void)
{
if (menu_driver_data)
return;
find_menu_driver();
if (!(menu_driver_data = (menu_handle_t*)menu_init(menu_driver_ctx)))
retro_fail(1, "init_menu()");
if (menu_driver_ctx->lists_init)
if (!menu_driver_ctx->lists_init(menu_driver_data))
retro_fail(1, "init_menu()");
}
void menu_driver_list_insert(file_list_t *list, const char *path,
const char *label, size_t idx)
{
@ -657,6 +642,29 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
menu_free(menu_driver_data);
menu_driver_data = NULL;
break;
case RARCH_MENU_CTL_INIT:
if (menu_driver_data)
return false;
find_menu_driver();
menu_driver_data = (menu_handle_t*)menu_init(menu_driver_ctx);
if (!menu_driver_data)
{
retro_fail(1, "init_menu()");
return false;
}
if (menu_driver_ctx->lists_init)
{
if (!menu_driver_ctx->lists_init(menu_driver_data))
{
retro_fail(1, "init_menu()");
return false;
}
}
break;
case RARCH_MENU_CTL_LOAD_NO_CONTENT_GET:
{
bool **ptr = (bool**)data;

View File

@ -99,6 +99,7 @@ enum rarch_menu_ctl_state
RARCH_MENU_CTL_NAVIGATION_ASCEND_ALPHABET,
RARCH_MENU_CTL_NAVIGATION_DESCEND_ALPHABET,
RARCH_MENU_CTL_DEINIT,
RARCH_MENU_CTL_INIT,
RARCH_MENU_CTL_SHADER_DEINIT,
RARCH_MENU_CTL_SHADER_GET,
RARCH_MENU_CTL_BLIT_RENDER,
@ -349,8 +350,6 @@ const char* config_get_menu_driver_options(void);
void find_menu_driver(void);
void init_menu(void);
menu_handle_t *menu_driver_get_ptr(void);
bool menu_driver_load_image(void *data, menu_image_type_t type);