forked from len0rd/rockbox
[Bug Fix] setting.c fail to check F_TABLE_SETTING w/o arbitrary values
table settings have a list of valid values when they do not have F_ALLOW_ARBITRARY_VALS flag they were not being treated as such Change-Id: Ib02643a65ee4fc2abb1be8563a1849076de2f708
This commit is contained in:
parent
222ff0cb14
commit
5903cd4bc8
2 changed files with 23 additions and 3 deletions
|
|
@ -394,8 +394,28 @@ bool settings_load_config(const char* file, bool apply)
|
|||
else if (setting->flags & F_ALLOW_ARBITRARY_VALS)
|
||||
{
|
||||
*v = atoi(value);
|
||||
logf("Val: %s\r\n",value);
|
||||
logf("Val: %s = %d\r\n", value, *v);
|
||||
}
|
||||
else if (setting->flags & F_TABLE_SETTING)
|
||||
{
|
||||
const struct table_setting *info = setting->table_setting;
|
||||
temp = atoi(value);
|
||||
*v = setting->default_val.int_;
|
||||
if (info->values)
|
||||
{
|
||||
for(int i = 0; i < info->count; i++)
|
||||
{
|
||||
if (info->values[i] == temp)
|
||||
{
|
||||
*v = temp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
logf("Val: %s", *v == temp ? "Found":"Error Not Found");
|
||||
logf("Val: %s = %d\r\n", value, *v);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
logf("Error: %s: Not Found! [%s]\r\n",
|
||||
|
|
|
|||
|
|
@ -1644,8 +1644,8 @@ const struct settings_list settings[] = {
|
|||
OFFON_SETTING(F_SOUNDSETTING, dithering_enabled, LANG_DITHERING, false,
|
||||
"dithering enabled", dsp_dither_enable),
|
||||
/* surround */
|
||||
TABLE_SETTING(F_TIME_SETTING | F_SOUNDSETTING | F_ALLOW_ARBITRARY_VALS,
|
||||
surround_enabled, LANG_SURROUND, 0, "surround enabled", off,
|
||||
TABLE_SETTING(F_TIME_SETTING | F_SOUNDSETTING, surround_enabled,
|
||||
LANG_SURROUND, 0, "surround enabled", off,
|
||||
UNIT_MS, formatter_time_unit_0_is_off,
|
||||
getlang_time_unit_0_is_off,
|
||||
dsp_surround_enable, 6,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue