forked from AuroraMiddleware/gtk
menushell: Make select_first() do that, not last…
It was looping over all items, not breaking out when it found the first
selectable one, and then selecting the _last_ selectable one (if any)
found. So, it did exactly the opposite of its name. This made me quite
baffled when opening a submenu with right-arrow put me at its last item.
Originally, the loop set to_select and broke if the current item was
selectable and not tear-off, meaning that it would correctly select the
first suitable item. However, when tear-off functionality was removed
in commit 4ed9452e90
, so was the break.
This commit is contained in:
parent
06269bf367
commit
a5211adb22
@ -1416,7 +1416,6 @@ gtk_menu_shell_select_first (GtkMenuShell *menu_shell,
|
||||
gboolean search_sensitive)
|
||||
{
|
||||
GtkMenuShellPrivate *priv = menu_shell->priv;
|
||||
GtkWidget *to_select = NULL;
|
||||
GList *tmp_list;
|
||||
|
||||
tmp_list = priv->children;
|
||||
@ -1427,14 +1426,12 @@ gtk_menu_shell_select_first (GtkMenuShell *menu_shell,
|
||||
if ((!search_sensitive && gtk_widget_get_visible (child)) ||
|
||||
_gtk_menu_item_is_selectable (child))
|
||||
{
|
||||
to_select = child;
|
||||
gtk_menu_shell_select_item (menu_shell, child);
|
||||
return;
|
||||
}
|
||||
|
||||
tmp_list = tmp_list->next;
|
||||
}
|
||||
|
||||
if (to_select)
|
||||
gtk_menu_shell_select_item (menu_shell, to_select);
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user