diff options
| -rw-r--r-- | kconfiglib.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/kconfiglib.py b/kconfiglib.py index a78f73b..21e978f 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -3304,18 +3304,19 @@ def _get_visibility(sc): vis = sc._config._eval_max(vis, cond_expr) if isinstance(sc, Symbol) and sc._is_choice_sym: - if sc._parent._type == TRISTATE and sc._type != TRISTATE and \ - sc._parent.get_mode() != "y": + choice = sc._parent + if choice._type == TRISTATE and sc._type != TRISTATE and \ + choice.get_mode() != "y": # Non-tristate choice symbols in tristate choices depend on the # choice being in mode "y" vis = "n" elif sc._type == TRISTATE and vis == "m" and \ - sc._parent.get_mode() == "y": + choice.get_mode() == "y": # Choice symbols with visibility "m" are not visible if the # choice has mode "y" vis = "n" else: - vis = sc._config._eval_min(vis, _get_visibility(sc._parent)) + vis = sc._config._eval_min(vis, _get_visibility(choice)) # Promote "m" to "y" if we're dealing with a non-tristate if vis == "m" and sc._type != TRISTATE: |
