summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2010-12-29 22:32:15 +0000
committerMichal Marek <mmarek@suse.cz>2010-12-29 22:32:15 +0000
commit03dc16b609bd3b7d22a6e16ffbf6b630124df735 (patch)
tree94e040e930124d65218e8261ac60d7ab7a03d3f2 /scripts
parent97accde005fe7a786113fa0c90906c0d26981e87 (diff)
parent7ad1227818f09242cfe9bf1845fd24211f5f99bd (diff)
Merge branch 'rc-fixes' into for-next
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/menu.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index 79de46852bbd..5fdf10dc1d8a 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -140,6 +140,20 @@ struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *e
}
if (current_entry->prompt && current_entry != &rootmenu)
prop_warn(prop, "prompt redefined");
+
+ /* Apply all upper menus' visibilities to actual prompts. */
+ if(type == P_PROMPT) {
+ struct menu *menu = current_entry;
+
+ while ((menu = menu->parent) != NULL) {
+ if (!menu->visibility)
+ continue;
+ prop->visible.expr
+ = expr_alloc_and(prop->visible.expr,
+ menu->visibility);
+ }
+ }
+
current_entry->prompt = prop;
}
prop->text = prompt;