summaryrefslogtreecommitdiff
path: root/scripts/kconfig
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2025-07-17 02:24:08 +0300
committerMasahiro Yamada <masahiroy@kernel.org>2025-07-26 13:55:37 +0300
commit6d4d44254e43157bb760aa16367a394c2ab299b8 (patch)
tree6093b5ca50b80fa22a89bdcfa321d54b0f4e5fd3 /scripts/kconfig
parentb9f75396ec107628cc5f52fb6e055c1c9dc68401 (diff)
downloadlinux-6d4d44254e43157bb760aa16367a394c2ab299b8.tar.xz
kconfig: gconf: fix single view to display dependent symbols correctly
In the following example, the symbol C was never displayed in Single view. Fix the recursion logic so that all symbols are shown. menu "menu" config A bool "A" config B bool "B" depends on A config C bool "C" depends on B endmenu Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'scripts/kconfig')
-rw-r--r--scripts/kconfig/gconf.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index 7725d2c9d92a..c67b35807e8e 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -914,9 +914,7 @@ static gboolean on_treeview1_button_press_event(GtkWidget *widget,
static void _display_tree(GtkTreeStore *tree, struct menu *menu,
GtkTreeIter *parent)
{
- struct property *prop;
struct menu *child;
- enum prop_type ptype;
GtkTreeIter iter;
for (child = menu->list; child; child = child->next) {
@@ -929,9 +927,6 @@ static void _display_tree(GtkTreeStore *tree, struct menu *menu,
if (child->type == M_IF)
continue;
- prop = child->prompt;
- ptype = prop ? prop->type : P_UNKNOWN;
-
if ((view_mode == SPLIT_VIEW)
&& !(child->flags & MENU_ROOT) && (tree == tree1))
continue;
@@ -943,16 +938,7 @@ static void _display_tree(GtkTreeStore *tree, struct menu *menu,
gtk_tree_store_append(tree, &iter, parent);
set_node(tree, &iter, child);
- if ((view_mode == SINGLE_VIEW) && (ptype == P_MENU))
- continue;
-/*
- if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT))
- || (view_mode == FULL_VIEW)
- || (view_mode == SPLIT_VIEW))*/
-
- if (((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT))
- || (view_mode == FULL_VIEW)
- || (view_mode == SPLIT_VIEW))
+ if (view_mode != SINGLE_VIEW || child->type != M_MENU)
_display_tree(tree, child, &iter);
}
}