window: Fallback to CSD titlebar in focus-chain
CSD titlebar are included in the focus-chain. The logic used makes sure that the initial focus avoids the titlebar, but tabbing around will eventually get there. This logic fails in case the window has no other focusable widgets apart from the ones in the header-bar. If this happens keynav focus will be lost. To handle the above scenario, we need to fallback to focus the header-bar (if any). Fixes: https://gitlab.gnome.org/GNOME/gnome-software/issues/404
This commit is contained in:

committed by
Matthias Clasen

parent
9417389659
commit
06800b22ff
@ -8612,6 +8612,11 @@ gtk_window_focus (GtkWidget *widget,
|
||||
{
|
||||
if (gtk_widget_child_focus (child, direction))
|
||||
return TRUE;
|
||||
else if (priv->title_box != NULL &&
|
||||
priv->title_box != child &&
|
||||
gtk_widget_child_focus (priv->title_box, direction))
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
Reference in New Issue
Block a user