X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=config%2Fsymbol.c;fp=config%2Fsymbol.c;h=ab8f4c83593308e0c245bf4136c7bff6f0bff763;hb=3da4505c135382c2eb4d54c6c1a25e10884ad174;hp=ecc5aa5f865db7d253facefc10cc77fc2404e41d;hpb=6cbac37e1eefd4d5f75879136cff03cdfd6c2e01;p=carl9170fw.git diff --git a/config/symbol.c b/config/symbol.c index ecc5aa5..ab8f4c8 100644 --- a/config/symbol.c +++ b/config/symbol.c @@ -300,6 +300,14 @@ void sym_calc_value(struct symbol *sym) if (sym->flags & SYMBOL_VALID) return; + + if (sym_is_choice_value(sym) && + sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES) { + sym->flags &= ~SYMBOL_NEED_SET_CHOICE_VALUES; + prop = sym_get_choice_prop(sym); + sym_calc_value(prop_get_symbol(prop)); + } + sym->flags |= SYMBOL_VALID; oldval = sym->curr; @@ -425,6 +433,9 @@ void sym_calc_value(struct symbol *sym) if (sym->flags & SYMBOL_AUTO) sym->flags &= ~SYMBOL_WRITE; + + if (sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES) + set_all_choice_values(sym); } void sym_clear_all_valid(void)