From: Masahiro Yamada Date: Wed, 16 Jul 2025 23:24:08 +0000 (+0900) Subject: kconfig: gconf: fix single view to display dependent symbols correctly X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d4d44254e43157bb760aa16367a394c2ab299b8;p=thirdparty%2Flinux.git 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 --- 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); } }