Start using menu_displaylist_info_free

This commit is contained in:
twinaphex 2017-09-10 22:57:26 +02:00
parent daa82a3c4f
commit 155d6a23b9
8 changed files with 46 additions and 28 deletions

View File

@ -55,6 +55,7 @@ static int deferred_push_dlist(menu_displaylist_info_t *info, enum menu_displayl
if (!menu_displaylist_ctl(state, info))
return menu_cbs_exit();
menu_displaylist_process(info);
menu_displaylist_info_free(info);
return 0;
}

View File

@ -46,12 +46,18 @@ static int action_info_default(unsigned type, const char *label)
sizeof(info.label));
if (!menu_displaylist_ctl(DISPLAYLIST_HELP, &info))
return -1;
goto error;
if (!menu_displaylist_process(&info))
return -1;
goto error;
menu_displaylist_info_free(&info);
return 0;
error:
menu_displaylist_info_free(&info);
return -1;
}
#ifdef HAVE_CHEEVOS

View File

@ -280,5 +280,7 @@ bool generic_menu_init_list(void *data)
if (menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info))
menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
return true;
}

View File

@ -458,10 +458,12 @@ static void nk_menu_context_destroy(void *data)
in the menu driver so I didn't touch them */
static bool nk_menu_init_list(void *data)
{
menu_displaylist_info_t info = {0};
menu_displaylist_info_t info;
file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0);
file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0);
menu_displaylist_info_init(&info);
strlcpy(info.label,
msg_hash_to_str(MENU_ENUM_LABEL_HISTORY_TAB), sizeof(info.label));
info.enum_idx = MENU_ENUM_LABEL_HISTORY_TAB;
@ -476,10 +478,14 @@ static bool nk_menu_init_list(void *data)
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, &info))
{
bool ret = false;
info.need_push = true;
return menu_displaylist_process(&info);
ret = menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
return ret;
}
menu_displaylist_info_free(&info);
return false;
}

View File

@ -1881,6 +1881,7 @@ static void xmb_init_horizontal_list(xmb_handle_t *xmb)
for (i=0; i < xmb->horizontal_list->size; i++)
xmb_node_allocate_userdata(xmb, (unsigned)i);
menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
}
}
}
@ -4191,6 +4192,7 @@ static int deferred_push_content_actions(menu_displaylist_info_t *info)
DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS, info))
return -1;
menu_displaylist_process(info);
menu_displaylist_info_free(info);
return 0;
}
@ -4357,30 +4359,14 @@ static bool xmb_menu_init_list(void *data)
file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0);
file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0);
info.need_sort = false;
info.need_refresh = false;
info.need_entries_refresh = false;
info.need_push = false;
info.push_builtin_cores = false;
info.download_core = false;
info.need_clear = false;
info.need_navigation_clear = false;
info.list = NULL;
info.menu_list = NULL;
info.path[0] = '\0';
info.path_b[0] = '\0';
info.path_c[0] = '\0';
menu_displaylist_info_init(&info);
strlcpy(info.label,
msg_hash_to_str(MENU_ENUM_LABEL_MAIN_MENU), sizeof(info.label));
info.label_hash = 0;
strlcpy(info.exts,
file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT), sizeof(info.exts));
info.type = 0;
info.type_default = FILE_TYPE_PLAIN;
info.directory_ptr = 0;
info.flags = 0;
info.enum_idx = MENU_ENUM_LABEL_MAIN_MENU;
info.setting = NULL;
menu_entries_append_enum(menu_stack, info.path,
info.label,
@ -4390,14 +4376,19 @@ static bool xmb_menu_init_list(void *data)
info.list = selection_buf;
if (!menu_displaylist_ctl(DISPLAYLIST_MAIN_MENU, &info))
return false;
goto error;
info.need_push = true;
if (!menu_displaylist_process(&info))
return false;
goto error;
menu_displaylist_info_free(&info);
return true;
error:
menu_displaylist_info_free(&info);
return false;
}
static int xmb_pointer_tap(void *userdata,

View File

@ -1124,16 +1124,19 @@ static int zarch_iterate(void *data, void *userdata, enum menu_action action)
static bool zarch_menu_init_list(void *data)
{
menu_displaylist_info_t info = {0};
menu_displaylist_info_t info;
file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0);
file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0);
menu_displaylist_info_free(&info);
strlcpy(info.label,
msg_hash_to_str(MENU_ENUM_LABEL_HISTORY_TAB), sizeof(info.label));
info.enum_idx = MENU_ENUM_LABEL_HISTORY_TAB;
menu_entries_append_enum(menu_stack,
info.path, info.label, MENU_ENUM_LABEL_HISTORY_TAB, info.type, info.flags, 0);
info.path, info.label,
MENU_ENUM_LABEL_HISTORY_TAB, info.type, info.flags, 0);
command_event(CMD_EVENT_HISTORY_INIT, NULL);
@ -1141,10 +1144,15 @@ static bool zarch_menu_init_list(void *data)
if (menu_displaylist_ctl(DISPLAYLIST_HISTORY, &info))
{
bool ret = false;
info.need_push = true;
return menu_displaylist_process(&info);
ret = menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
return ret;
}
menu_displaylist_info_free(&info);
return false;
}

View File

@ -777,6 +777,8 @@ int menu_action_handle_setting(rarch_setting_t *setting,
if (menu_displaylist_ctl(DISPLAYLIST_GENERIC, &info))
menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
}
/* fall-through. */
case ST_BOOL:
@ -1679,6 +1681,7 @@ void general_write_handler(void *data)
if (menu_displaylist_ctl(DISPLAYLIST_GENERIC, &info))
menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
setting_set_with_string_representation(setting, "false");
}
break;

View File

@ -112,9 +112,9 @@ static int menu_input_key_bind_set_mode_common(
info.enum_idx = MENU_ENUM_LABEL_CUSTOM_BIND;
strlcpy(info.label,
msg_hash_to_str(MENU_ENUM_LABEL_CUSTOM_BIND), sizeof(info.label));
if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info))
menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
break;
case MENU_INPUT_BINDS_CTL_BIND_ALL:
menu_input_binds.target = &input_config_binds[index_offset][0];
@ -131,6 +131,7 @@ static int menu_input_key_bind_set_mode_common(
if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info))
menu_displaylist_process(&info);
menu_displaylist_info_free(&info);
break;
default:
case MENU_INPUT_BINDS_CTL_BIND_NONE: