X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=scripts%2Fkconfig%2Fmenu.c;h=5f77dcb8977e0632b5875167d5a652ef62f4be1c;hb=7ad1227818f09242cfe9bf1845fd24211f5f99bd;hp=b9d9aa18e6d62bbaa40c34cf7062c00c8bb15e35;hpb=307991055b0ce65d53dc1eb501c456c10eb36360;p=mv-sheeva.git diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c index b9d9aa18e6d..5f77dcb8977 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;