diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-02 13:37:19 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-02 13:37:19 -0500 |
| commit | d864b7b4d69d2fd5a3f129d27ad0bb4fc81cc32b (patch) | |
| tree | b1a0e05af5d691d8098614a40b57576716761f1d | |
| parent | 3643e0e87c13c670a0fdcd0c34401b38b36ff021 (diff) | |
| parent | 7ad1227818f09242cfe9bf1845fd24211f5f99bd (diff) | |
Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
kconfig: fix undesirable side effect of adding "visible" menu attribute
| -rw-r--r-- | scripts/kconfig/menu.c | 14 |
1 files changed, 14 insertions, 0 deletions
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 | |||
| 140 | } | 140 | } |
| 141 | if (current_entry->prompt && current_entry != &rootmenu) | 141 | if (current_entry->prompt && current_entry != &rootmenu) |
| 142 | prop_warn(prop, "prompt redefined"); | 142 | prop_warn(prop, "prompt redefined"); |
| 143 | |||
| 144 | /* Apply all upper menus' visibilities to actual prompts. */ | ||
| 145 | if(type == P_PROMPT) { | ||
| 146 | struct menu *menu = current_entry; | ||
| 147 | |||
| 148 | while ((menu = menu->parent) != NULL) { | ||
| 149 | if (!menu->visibility) | ||
| 150 | continue; | ||
| 151 | prop->visible.expr | ||
| 152 | = expr_alloc_and(prop->visible.expr, | ||
| 153 | menu->visibility); | ||
| 154 | } | ||
| 155 | } | ||
| 156 | |||
| 143 | current_entry->prompt = prop; | 157 | current_entry->prompt = prop; |
| 144 | } | 158 | } |
| 145 | prop->text = prompt; | 159 | prop->text = prompt; |
