From 49a73ca90f1ceacbf096ddc0064d21c38c56955d Mon Sep 17 00:00:00 2001 From: Stéphane Doyon Date: Sun, 4 May 2008 02:57:30 +0000 Subject: Revert r17345 on jdgordon's request, until we figure out why it crashes my x5. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17346 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/option_select.c | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'apps/gui/option_select.c') diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c index ffa8f1b0a1..288bf9098b 100644 --- a/apps/gui/option_select.c +++ b/apps/gui/option_select.c @@ -146,21 +146,24 @@ char *option_get_valuestring(struct settings_list *setting, } return buffer; } -void option_talk_value(const struct settings_list *setting, int value, bool enqueue) + +static int option_talk(int selected_item, void * data) { + struct settings_list *setting = (struct settings_list *)data; + int temp_var = selection_to_val(setting, selected_item); if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING) { - bool val = value==1?true:false; + bool val = temp_var==1?true:false; talk_id(val? setting->bool_setting->lang_yes : - setting->bool_setting->lang_no, enqueue); + setting->bool_setting->lang_no, false); } #if 0 /* probably dont need this one */ else if ((setting->flags & F_FILENAME) == F_FILENAME) { -} + } #endif else if (((setting->flags & F_INT_SETTING) == F_INT_SETTING) || - ((setting->flags & F_TABLE_SETTING) == F_TABLE_SETTING)) + ((setting->flags & F_TABLE_SETTING) == F_TABLE_SETTING)) { const struct int_setting *int_info = setting->int_setting; const struct table_setting *tbl_info = setting->table_setting; @@ -177,9 +180,9 @@ void option_talk_value(const struct settings_list *setting, int value, bool enqu get_talk_id = tbl_info->get_talk_id; } if (get_talk_id) - talk_id(get_talk_id((int)value, unit), enqueue); + talk_id(get_talk_id((int)temp_var, unit), false); else - talk_value((int)value, unit, enqueue); + talk_value((int)temp_var, unit, false); } else if ((setting->flags & F_T_SOUND) == F_T_SOUND) { @@ -191,27 +194,20 @@ void option_talk_value(const struct settings_list *setting, int value, bool enqu talkunit = UNIT_PERCENT; else if (!strcmp(unit, "Hz")) talkunit = UNIT_HERTZ; - talk_value((int)value, talkunit, false); + talk_value((int)temp_var, talkunit, false); } else if ((setting->flags & F_CHOICE_SETTING) == F_CHOICE_SETTING) { - int value = (int)value; + int value = (int)temp_var; if (setting->flags & F_CHOICETALKS) { - talk_id(setting->choice_setting->talks[value], enqueue); + talk_id(setting->choice_setting->talks[value], false); } else { - talk_id(P2ID(setting->choice_setting->desc[value]), enqueue); + talk_id(P2ID(setting->choice_setting->desc[value]), false); } } -} - -static int option_talk(int selected_item, void * data) -{ - struct settings_list *setting = (struct settings_list *)data; - int temp_var = selection_to_val(setting, selected_item); - option_talk_value(setting, temp_var, false); return 0; } -- cgit v1.2.3