From 83dd151579eec69711134f52666f94cfb28ee84b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 11 Oct 2015 13:10:46 +0200 Subject: [PATCH] Start wrapping more settings code --- menu/cbs/menu_cbs_deferred_push.c | 3 ++- menu/cbs/menu_cbs_left.c | 3 ++- menu/cbs/menu_cbs_right.c | 3 ++- menu/cbs/menu_cbs_title.c | 3 ++- menu/drivers/menu_generic.c | 2 +- menu/menu_setting.c | 8 ++++++++ menu/menu_setting.h | 2 ++ 7 files changed, 19 insertions(+), 5 deletions(-) diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 090885e8cf..ee8a0cf6b8 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -738,7 +738,8 @@ int menu_cbs_init_bind_deferred_push(menu_file_list_cbs_t *cbs, if (cbs->setting) { - uint32_t parent_group_hash = menu_hash_calculate(cbs->setting->parent_group); + const char *parent_group = menu_setting_get_parent_group(cbs->setting); + uint32_t parent_group_hash = menu_hash_calculate(parent_group); if ((parent_group_hash == MENU_VALUE_MAIN_MENU) && menu_setting_get_type(cbs->setting) == ST_GROUP) { diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index 119fe21f41..c5e9d76e1f 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -331,7 +331,8 @@ static int menu_cbs_init_bind_left_compare_label(menu_file_list_cbs_t *cbs, if (cbs->setting) { - uint32_t parent_group_hash = menu_hash_calculate(cbs->setting->parent_group); + const char *parent_group = menu_setting_get_parent_group(cbs->setting); + uint32_t parent_group_hash = menu_hash_calculate(parent_group); if ((parent_group_hash == MENU_VALUE_MAIN_MENU) && (menu_setting_get_type(cbs->setting) == ST_GROUP)) { diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index 7cfd849743..f396cfa535 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -438,7 +438,8 @@ static int menu_cbs_init_bind_right_compare_label(menu_file_list_cbs_t *cbs, if (cbs->setting) { - uint32_t parent_group_hash = menu_hash_calculate(cbs->setting->parent_group); + const char *parent_group = menu_setting_get_parent_group(cbs->setting); + uint32_t parent_group_hash = menu_hash_calculate(parent_group); if ((parent_group_hash == MENU_LABEL_SETTINGS) && (menu_setting_get_type(cbs->setting) == ST_GROUP)) { diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 6350fae9a3..79d505d44e 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -459,7 +459,8 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, { if (cbs->setting) { - uint32_t parent_group_hash = menu_hash_calculate(cbs->setting->parent_group); + const char *parent_group = menu_setting_get_parent_group(cbs->setting); + uint32_t parent_group_hash = menu_hash_calculate(parent_group); if ((parent_group_hash == MENU_VALUE_MAIN_MENU) && menu_setting_get_type(cbs->setting) == ST_GROUP) { diff --git a/menu/drivers/menu_generic.c b/menu/drivers/menu_generic.c index 59faba21f3..c85dd3fc78 100644 --- a/menu/drivers/menu_generic.c +++ b/menu/drivers/menu_generic.c @@ -256,7 +256,7 @@ int generic_menu_iterate(enum menu_action action) if (setting) { char needle[PATH_MAX_LENGTH]; - strlcpy(needle, setting->name, sizeof(needle)); + strlcpy(needle, menu_setting_get_name(setting), sizeof(needle)); label_hash = menu_hash_calculate(needle); } diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 9b6158d6c6..ffeb566244 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -267,6 +267,13 @@ const char *menu_setting_get_name(rarch_setting_t *setting) return setting->name; } +const char *menu_setting_get_parent_group(rarch_setting_t *setting) +{ + if (!setting) + return NULL; + return setting->parent_group; +} + const char *menu_setting_get_short_description(rarch_setting_t *setting) { if (!setting) @@ -6365,6 +6372,7 @@ static bool setting_append_list_input_player_options( return true; } + void menu_setting_free(rarch_setting_t *list) { rarch_setting_t *setting = list; diff --git a/menu/menu_setting.h b/menu/menu_setting.h index 0e10698230..dc69adc98d 100644 --- a/menu/menu_setting.h +++ b/menu/menu_setting.h @@ -292,6 +292,8 @@ const char *menu_setting_get_short_description(rarch_setting_t *setting); uint64_t menu_setting_get_flags(rarch_setting_t *setting); +const char *menu_setting_get_parent_group(rarch_setting_t *setting); + double menu_setting_get_min(rarch_setting_t *setting); double menu_setting_get_max(rarch_setting_t *setting);