diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2025-06-30 03:43:27 +0900 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2025-07-26 15:31:29 +0900 |
commit | 0c82f50a06aa13e6fc29e17081094489d57745fd (patch) | |
tree | 5f84c714e430dc59f26c9c53ac8d4afd25b561f7 | |
parent | 1f937cdf32689279297185be72751ae1c5566baf (diff) |
kconfig: gconf: fix behavior of a menu under a symbol in split view
A menu can be created under a symbol.
[Example]
menu "outer menu"
config A
bool "A"
menu "inner menu"
depends on A
config B
bool "B"
endmenu
endmenu
After being re-parented by menu_finalize(), the menu tree is structured
like follows:
menu "outer menu"
\-- A
\-- menu "inner menu"
\-- B
In split view, the symbol A is shown in the right pane, so all of its
descendants must also be shown there. This has never worked correctly.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
-rw-r--r-- | scripts/kconfig/gconf.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c index 28c4b5b37448..7397a51641a7 100644 --- a/scripts/kconfig/gconf.c +++ b/scripts/kconfig/gconf.c @@ -803,7 +803,7 @@ static gboolean on_treeview2_button_press_event(GtkWidget *widget, enum prop_type ptype; ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN; - if (ptype == P_MENU && view_mode != FULL_VIEW && col == COL_OPTION) { + if (ptype == P_MENU && view_mode == SINGLE_VIEW && col == COL_OPTION) { // goes down into menu browsed = menu; display_tree_part(); @@ -953,8 +953,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 != FULL_VIEW) && (ptype == P_MENU) - && (tree == tree2)) + if ((view_mode == SINGLE_VIEW) && (ptype == P_MENU)) continue; /* if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT)) |