X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=config%2Fsymbol.c;h=ab8f4c83593308e0c245bf4136c7bff6f0bff763;hb=1cfdda61ec3a7dca2bbebbfe3ef307817c6c5127;hp=ecc5aa5f865db7d253facefc10cc77fc2404e41d;hpb=004920cbe03647bf2b88a2e8bd37f83c878d9e8c;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)