From 16f89fcd102887a32d6fc5d76ad2836defee3adf Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 11 Oct 2015 13:16:38 +0200 Subject: [PATCH] (menu_setting.c) Wrap browser_selection_type --- menu/cbs/menu_cbs_deferred_push.c | 4 +++- menu/cbs/menu_cbs_ok.c | 2 +- menu/menu_displaylist.c | 3 +-- menu/menu_setting.c | 7 +++++++ menu/menu_setting.h | 2 ++ 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index ee8a0cf6b8..7c847047f8 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -358,7 +358,9 @@ static int general_push(menu_displaylist_info_t *info, unsigned id, unsigned typ break; case PUSH_DEFAULT: info->setting = menu_setting_find(info->label); - if (info->setting && info->setting->browser_selection_type == ST_DIR) {} + if (menu_setting_get_browser_selection_type(info->setting) == ST_DIR) + { + } else if (global->menu.info.valid_extensions) { if (*global->menu.info.valid_extensions) diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index b68acb8583..6a158b1035 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1731,7 +1731,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, return 0; } - if (cbs->setting && cbs->setting->browser_selection_type == ST_DIR) + if (menu_setting_get_browser_selection_type(cbs->setting) == ST_DIR) { cbs->action_ok = action_ok_push_generic_list; return 0; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 17515c15cf..567cda4a29 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -2189,8 +2189,7 @@ static int menu_displaylist_parse_generic(menu_displaylist_info_t *info, bool *n } path_is_compressed = path_is_compressed_file(info->path); - push_dir = (info->setting - && info->setting->browser_selection_type == ST_DIR); + push_dir = (menu_setting_get_browser_selection_type(info->setting) == ST_DIR); filter_ext = settings->menu.navigation.browser.filter.supported_extensions_enable; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index ffeb566244..87afbf081f 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -51,6 +51,13 @@ enum setting_type menu_setting_get_type(rarch_setting_t *setting) return setting->type; } +enum setting_type menu_setting_get_browser_selection_type(rarch_setting_t *setting) +{ + if (!setting) + return ST_NONE; + return setting->browser_selection_type; +} + static void menu_settings_info_list_free(rarch_setting_info_t *list_info) { if (list_info) diff --git a/menu/menu_setting.h b/menu/menu_setting.h index dc69adc98d..b9a4ac6691 100644 --- a/menu/menu_setting.h +++ b/menu/menu_setting.h @@ -284,6 +284,8 @@ int menu_action_handle_setting(rarch_setting_t *setting, enum setting_type menu_setting_get_type(rarch_setting_t *setting); +enum setting_type menu_setting_get_browser_selection_type(rarch_setting_t *setting); + const char *menu_setting_get_values(rarch_setting_t *setting); const char *menu_setting_get_name(rarch_setting_t *setting);