Don't keep reallocating settings all the time

This commit is contained in:
twinaphex 2015-10-19 03:28:00 +02:00
parent 0d8cec87bc
commit 992266ab12
5 changed files with 92 additions and 200 deletions

View File

@ -1453,12 +1453,6 @@ static int deferred_push_video_shader_parameters_common(
} }
#endif #endif
static void menu_displaylist_realloc_settings(menu_entries_t *entries, unsigned flags)
{
menu_entries_free_list(entries);
menu_entries_new_list(entries, flags);
}
enum enum
{ {
PARSE_NONE = (1 << 0), PARSE_NONE = (1 << 0),
@ -1468,7 +1462,7 @@ enum
}; };
static int menu_displaylist_parse_settings(menu_handle_t *menu, static int menu_displaylist_parse_settings(menu_handle_t *menu,
menu_displaylist_info_t *info, unsigned setting_flags, menu_displaylist_info_t *info,
const char *info_label, unsigned parse_type) const char *info_label, unsigned parse_type)
{ {
uint64_t flags; uint64_t flags;
@ -1477,8 +1471,6 @@ static int menu_displaylist_parse_settings(menu_handle_t *menu,
rarch_setting_t *setting = NULL; rarch_setting_t *setting = NULL;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
menu_displaylist_realloc_settings(menu->entries, setting_flags);
setting = menu_setting_find(info_label); setting = menu_setting_find(info_label);
flags = menu_setting_get_flags(setting); flags = menu_setting_get_flags(setting);
@ -2306,8 +2298,7 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
break; break;
case DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST: case DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST:
#ifdef HAVE_CHEEVOS #ifdef HAVE_CHEEVOS
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info, "Accounts", PARSE_NONE);
"Accounts", PARSE_NONE);
#else #else
menu_entries_push(info->list, menu_entries_push(info->list,
menu_hash_to_str(MENU_LABEL_VALUE_NO_ITEMS), menu_hash_to_str(MENU_LABEL_VALUE_NO_ITEMS),
@ -2354,39 +2345,39 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
break; break;
case DISPLAYLIST_SETTINGS: case DISPLAYLIST_SETTINGS:
info->flags = SL_FLAG_SETTINGS_GROUP_ALL; info->flags = SL_FLAG_SETTINGS_GROUP_ALL;
ret = menu_displaylist_parse_settings(menu, info, info->flags, info->label, PARSE_NONE); ret = menu_displaylist_parse_settings(menu, info, info->label, PARSE_NONE);
need_push = true; need_push = true;
break; break;
case DISPLAYLIST_MAIN_MENU: case DISPLAYLIST_MAIN_MENU:
ret = menu_displaylist_parse_settings(menu, info, info->flags, info->label, PARSE_NONE); ret = menu_displaylist_parse_settings(menu, info, info->label, PARSE_NONE);
need_push = true; need_push = true;
break; break;
case DISPLAYLIST_SETTINGS_ALL: case DISPLAYLIST_SETTINGS_ALL:
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_DRIVER_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_DRIVER_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_CORE_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_CORE_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_CONFIGURATION_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_CONFIGURATION_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_SAVING_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_SAVING_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_LOGGING_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_LOGGING_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_FRAME_THROTTLE_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_FRAME_THROTTLE_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_REWIND_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_REWIND_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_RECORDING_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_RECORDING_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_VIDEO_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_VIDEO_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_ONSCREEN_DISPLAY_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_ONSCREEN_DISPLAY_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_AUDIO_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_AUDIO_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_INPUT_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_INPUT_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_INPUT_HOTKEY_BINDS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_INPUT_HOTKEY_BINDS), PARSE_ONLY_GROUP);
{ {
unsigned user; unsigned user;
@ -2396,31 +2387,31 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type)
{ {
snprintf(group_lbl[user], sizeof(group_lbl[user]), snprintf(group_lbl[user], sizeof(group_lbl[user]),
menu_hash_to_str(MENU_LABEL_VALUE_INPUT_USER_BINDS), user + 1); menu_hash_to_str(MENU_LABEL_VALUE_INPUT_USER_BINDS), user + 1);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
group_lbl[user], PARSE_ONLY_GROUP); group_lbl[user], PARSE_ONLY_GROUP);
} }
} }
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_OVERLAY_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_OVERLAY_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_MENU_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_MENU_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_UI_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_UI_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
"Retro Achievements", PARSE_ONLY_GROUP); "Retro Achievements", PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_CORE_UPDATER_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_CORE_UPDATER_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_NETWORK_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_NETWORK_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_PLAYLIST_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_PLAYLIST_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_USER_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_USER_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_DIRECTORY_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_DIRECTORY_SETTINGS), PARSE_ONLY_GROUP);
ret = menu_displaylist_parse_settings(menu, info, SL_FLAG_SETTINGS_GROUP_ALL, ret = menu_displaylist_parse_settings(menu, info,
menu_hash_to_str(MENU_LABEL_VALUE_PRIVACY_SETTINGS), PARSE_ONLY_GROUP); menu_hash_to_str(MENU_LABEL_VALUE_PRIVACY_SETTINGS), PARSE_ONLY_GROUP);
need_push = true; need_push = true;
break; break;

View File

@ -541,6 +541,8 @@ bool menu_entries_init(void *data)
if (!(entries->menu_list = (menu_list_t*)menu_list_new())) if (!(entries->menu_list = (menu_list_t*)menu_list_new()))
goto error; goto error;
entries->list_settings = menu_setting_new();
return true; return true;
error: error:
@ -558,26 +560,14 @@ void menu_entries_free(void)
if (!entries) if (!entries)
return; return;
menu_setting_free(entries->list_settings); if (entries->list_settings)
menu_setting_free(entries->list_settings);
entries->list_settings = NULL; entries->list_settings = NULL;
menu_list_free(entries->menu_list); menu_list_free(entries->menu_list);
entries->menu_list = NULL; entries->menu_list = NULL;
} }
void menu_entries_free_list(menu_entries_t *entries)
{
if (entries && entries->list_settings)
menu_setting_free(entries->list_settings);
}
void menu_entries_new_list(menu_entries_t *entries, unsigned flags)
{
if (!entries)
return;
entries->list_settings = menu_setting_new(flags);
}
void menu_entries_push(file_list_t *list, const char *path, const char *label, void menu_entries_push(file_list_t *list, const char *path, const char *label,
unsigned type, size_t directory_ptr, size_t entry_idx) unsigned type, size_t directory_ptr, size_t entry_idx)
{ {

View File

@ -136,10 +136,6 @@ bool menu_entries_init(void *data);
void menu_entries_free(void); void menu_entries_free(void);
void menu_entries_free_list(menu_entries_t *entries);
void menu_entries_new_list(menu_entries_t *entries, unsigned flags);
void menu_entries_get_last_stack(const char **path, const char **label, void menu_entries_get_last_stack(const char **path, const char **label,
unsigned *file_type, size_t *entry_idx); unsigned *file_type, size_t *entry_idx);

View File

@ -2820,8 +2820,7 @@ static void overlay_enable_toggle_change_handler(void *data)
static bool setting_append_list_main_menu_options( static bool setting_append_list_main_menu_options(
rarch_setting_t **list, rarch_setting_t **list,
rarch_setting_info_t *list_info, rarch_setting_info_t *list_info,
const char *parent_group, const char *parent_group)
unsigned mask)
{ {
rarch_setting_group_info_t group_info = {0}; rarch_setting_group_info_t group_info = {0};
rarch_setting_group_info_t subgroup_info = {0}; rarch_setting_group_info_t subgroup_info = {0};
@ -2893,16 +2892,12 @@ static bool setting_append_list_main_menu_options(
parent_group); parent_group);
#endif #endif
CONFIG_ACTION(
if (mask & SL_FLAG_SETTINGS) menu_hash_to_str(MENU_LABEL_SETTINGS),
{ menu_hash_to_str(MENU_LABEL_VALUE_SETTINGS),
CONFIG_ACTION( group_info.name,
menu_hash_to_str(MENU_LABEL_SETTINGS), subgroup_info.name,
menu_hash_to_str(MENU_LABEL_VALUE_SETTINGS), parent_group);
group_info.name,
subgroup_info.name,
parent_group);
}
CONFIG_ACTION( CONFIG_ACTION(
menu_hash_to_str(MENU_LABEL_INFORMATION_LIST), menu_hash_to_str(MENU_LABEL_INFORMATION_LIST),
@ -6697,7 +6692,7 @@ void menu_setting_free(rarch_setting_t *list)
* Returns: settings list composed of all requested * Returns: settings list composed of all requested
* settings on success, otherwise NULL. * settings on success, otherwise NULL.
**/ **/
rarch_setting_t *menu_setting_new(unsigned mask) rarch_setting_t *menu_setting_new(void)
{ {
rarch_setting_t terminator = { ST_NONE }; rarch_setting_t terminator = { ST_NONE };
rarch_setting_t* list = NULL; rarch_setting_t* list = NULL;
@ -6714,62 +6709,33 @@ rarch_setting_t *menu_setting_new(unsigned mask)
if (!list) if (!list)
goto error; goto error;
if (mask & SL_FLAG_MAIN_MENU) if (!setting_append_list_main_menu_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_main_menu_options(&list, list_info, root, mask))
goto error;
}
if (mask & SL_FLAG_SETTINGS_DRIVER_OPTIONS) if (!setting_append_list_driver_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_driver_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_CORE_OPTIONS) if (!setting_append_list_core_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_core_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_CONFIGURATION_OPTIONS) if (!setting_append_list_configuration_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_configuration_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_LOGGING_OPTIONS) if (!setting_append_list_logging_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_logging_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_SAVING_OPTIONS) if (!setting_append_list_saving_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_saving_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_REWIND_OPTIONS) if (!setting_append_list_rewind_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_rewind_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_VIDEO_OPTIONS) if (!setting_append_list_video_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_video_options(&list, list_info, root))
goto error;
} if (!setting_append_list_audio_options(&list, list_info, root))
goto error;
if (mask & SL_FLAG_SETTINGS_AUDIO_OPTIONS)
{
if (!setting_append_list_audio_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_INPUT_OPTIONS)
{ {
unsigned user; unsigned user;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
@ -6781,13 +6747,9 @@ rarch_setting_t *menu_setting_new(unsigned mask)
setting_append_list_input_player_options(&list, list_info, root, user); setting_append_list_input_player_options(&list, list_info, root, user);
} }
if (mask & SL_FLAG_SETTINGS_INPUT_HOTKEY_OPTIONS) if (!setting_append_list_input_hotkey_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_input_hotkey_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_RECORDING_OPTIONS)
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
@ -6798,98 +6760,52 @@ rarch_setting_t *menu_setting_new(unsigned mask)
} }
} }
if (mask & SL_FLAG_SETTINGS_FRAME_THROTTLE_OPTIONS) if (!setting_append_list_frame_throttling_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_frame_throttling_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_FONT_OPTIONS) if (!setting_append_list_font_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_font_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_OVERLAY_OPTIONS) if (!setting_append_list_overlay_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_overlay_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_MENU_OPTIONS) if (!setting_append_list_menu_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_menu_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_MENU_BROWSER_OPTIONS) if (!setting_append_list_menu_file_browser_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_menu_file_browser_options(&list, list_info, root))
goto error;
}
#if defined(HAVE_IMAGEVIEWER) || defined(HAVE_FFMPEG) #if defined(HAVE_IMAGEVIEWER) || defined(HAVE_FFMPEG)
if (mask & SL_FLAG_SETTINGS_MULTIMEDIA_OPTIONS) if (!setting_append_list_multimedia_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_multimedia_options(&list, list_info, root))
goto error;
}
#endif #endif
if (mask & SL_FLAG_SETTINGS_UI_OPTIONS) if (!setting_append_list_ui_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_ui_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_PLAYLIST_OPTIONS) if (!setting_append_list_playlist_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_playlist_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_CHEEVOS_OPTIONS) if (!setting_append_list_cheevos_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_cheevos_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_CORE_UPDATER_OPTIONS) if (!setting_append_list_core_updater_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_core_updater_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_NETPLAY_OPTIONS) if (!setting_append_list_netplay_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_netplay_options(&list, list_info, root))
goto error;
}
if (!setting_append_list_user_options(&list, list_info, root))
goto error;
if (mask & SL_FLAG_SETTINGS_USER_OPTIONS) if (!setting_append_list_accounts_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_user_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_SUB_ACCOUNTS_OPTIONS) if (!setting_append_list_directory_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_accounts_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_DIRECTORY_OPTIONS) if (!setting_append_list_privacy_options(&list, list_info, root))
{ goto error;
if (!setting_append_list_directory_options(&list, list_info, root))
goto error;
}
if (mask & SL_FLAG_SETTINGS_PRIVACY_OPTIONS)
{
if (!setting_append_list_privacy_options(&list, list_info, root))
goto error;
}
if (!(menu_settings_list_append(&list, list_info, terminator))) if (!(menu_settings_list_append(&list, list_info, terminator)))
goto error; goto error;
@ -6915,4 +6831,3 @@ error:
return NULL; return NULL;
} }

View File

@ -167,7 +167,7 @@ void menu_setting_free(rarch_setting_t *list);
* Returns: settings list composed of all requested * Returns: settings list composed of all requested
* settings on success, otherwise NULL. * settings on success, otherwise NULL.
**/ **/
rarch_setting_t* menu_setting_new(unsigned mask); rarch_setting_t* menu_setting_new(void);
bool menu_setting_is_of_path_type(rarch_setting_t *setting); bool menu_setting_is_of_path_type(rarch_setting_t *setting);