Commit 15a5ae3b authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kconfig: gconf: Fix Back button behavior



Clicking the Back button may navigate to a non-menu hierarchy level.

[Example]

  menu "menu1"

  config A
          bool "A"
          default y

  config B
          bool "B"
          depends on A
          default y

  menu "menu2"
          depends on B

  config C
          bool "C"
          default y

  endmenu

  endmenu

After being re-parented by menu_finalize(), the menu tree is structured
like follows:

  menu "menu1"
  \-- A
      \-- B
          \-- menu "menu2"
              \-- C

In Single view, visit "menu2" and click the Back button. It should go up
to "menu1" and show A, B and "menu2", but instead goes up to A and show
only B and "menu2". This is a bug in on_back_clicked().

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent 6d4d4425
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -553,12 +553,8 @@ static void on_license1_activate(GtkMenuItem *menuitem, gpointer user_data)
/* toolbar handlers */
static void on_back_clicked(GtkButton *button, gpointer user_data)
{
	enum prop_type ptype;
	browsed = menu_get_parent_menu(browsed) ?: &rootmenu;

	browsed = browsed->parent;
	ptype = browsed->prompt ? browsed->prompt->type : P_UNKNOWN;
	if (ptype != P_MENU)
		browsed = browsed->parent;
	recreate_tree();

	if (browsed == &rootmenu)