From e49cad7b68a5828054913f871f5feb106fe5b40b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 16 Oct 2014 18:07:57 +0200 Subject: [PATCH] Implement action start callback for ST_PATH and ST_DIR --- frontend/menu/menu_action.c | 3 ++- settings_data.c | 22 ++++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/frontend/menu/menu_action.c b/frontend/menu/menu_action.c index 099985e86f..00ca7a18be 100644 --- a/frontend/menu/menu_action.c +++ b/frontend/menu/menu_action.c @@ -114,7 +114,8 @@ static int menu_entries_set_current_path_selection( setting->cmd_trigger.triggered = true; break; case MENU_ACTION_START: - *setting->value.string = '\0'; + if (setting->action_start) + setting->action_start(setting); break; } diff --git a/settings_data.c b/settings_data.c index 87798786d3..ddfe64b23a 100644 --- a/settings_data.c +++ b/settings_data.c @@ -1071,14 +1071,24 @@ rarch_setting_t setting_data_string_setting(enum setting_type type, rarch_setting_t result = { type, name, size, short_description, group, subgroup }; - result.dir.empty_path = empty; - result.change_handler = change_handler; - result.read_handler = read_handler; - result.value.string = target; + result.dir.empty_path = empty; + result.change_handler = change_handler; + result.read_handler = read_handler; + result.value.string = target; result.default_value.string = default_value; + result.action_start = NULL; - if (type == ST_DIR) - result.action_start = setting_data_string_dir_action_start_default; + switch (type) + { + case ST_DIR: + result.action_start = setting_data_string_dir_action_start_default; + break; + case ST_PATH: + result.action_start = setting_data_string_dir_action_start_default; + break; + default: + break; + } return result; }