[PATCH] kconfig: fix restart for choice symbols

The restart check whether new symbols became visible, didn't always work for
choice symbols.  Even if a choice symbol itself isn't changable, the childs
are.  This also requires to update the new status of all choice values, once
one of them is set.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Roman Zippel
2005-11-08 21:34:48 -08:00
committed by Linus Torvalds
parent 3f04e7ddf4
commit 3f23ca2b37
2 changed files with 14 additions and 4 deletions

View File

@@ -467,15 +467,14 @@ static void check_conf(struct menu *menu)
return;
sym = menu->sym;
if (sym) {
if (sym_is_changable(sym) && !sym_has_value(sym)) {
if (sym && !sym_has_value(sym)) {
if (sym_is_changable(sym) ||
(sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
if (!conf_cnt++)
printf(_("*\n* Restart config...\n*\n"));
rootEntry = menu_get_parent_menu(menu);
conf(rootEntry);
}
if (sym_is_choice(sym) && sym_get_tristate_value(sym) != mod)
return;
}
for (child = menu->list; child; child = child->next)