summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/option_select.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c
index a1e41f10e8..ac8ba43793 100644
--- a/apps/gui/option_select.c
+++ b/apps/gui/option_select.c
@@ -192,14 +192,17 @@ void option_talk_value(const struct settings_list *setting, int value, bool enqu
192 else if ((setting->flags & F_T_SOUND) == F_T_SOUND) 192 else if ((setting->flags & F_T_SOUND) == F_T_SOUND)
193 { 193 {
194 int talkunit = UNIT_INT; 194 int talkunit = UNIT_INT;
195 const char *unit = sound_unit(setting->sound_setting->setting); 195 int sound_setting = setting->sound_setting->setting;
196 const char *unit = sound_unit(sound_setting);
197 int decimals = sound_numdecimals(sound_setting);
198 int phys = sound_val2phys(sound_setting, value);
196 if (!strcmp(unit, "dB")) 199 if (!strcmp(unit, "dB"))
197 talkunit = UNIT_DB; 200 talkunit = UNIT_DB;
198 else if (!strcmp(unit, "%")) 201 else if (!strcmp(unit, "%"))
199 talkunit = UNIT_PERCENT; 202 talkunit = UNIT_PERCENT;
200 else if (!strcmp(unit, "Hz")) 203 else if (!strcmp(unit, "Hz"))
201 talkunit = UNIT_HERTZ; 204 talkunit = UNIT_HERTZ;
202 talk_value(value, talkunit, false); 205 talk_value_decimal(phys, talkunit, decimals, false);
203 } 206 }
204 else if ((setting->flags & F_CHOICE_SETTING) == F_CHOICE_SETTING) 207 else if ((setting->flags & F_CHOICE_SETTING) == F_CHOICE_SETTING)
205 { 208 {