From e56a9e6ce5acd05677ece04c85ef219555a5f8e5 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 11 Jun 2019 13:14:25 +0000 Subject: [PATCH] window: Fix focus wraparound If tab focus falls off the end, and we have an empty headerbar, we end up with window->focus == NULL. Don't let that happen Close https://gitlab.gnome.org/GNOME/gtk/issues/686#note_529577 --- gtk/gtkwindow.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 874b053d57..eb551bf834 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -8625,7 +8625,7 @@ gtk_window_focus (GtkWidget *widget, if (old_focus_child) { if (gtk_widget_child_focus (old_focus_child, direction)) - return TRUE; + return TRUE; } if (priv->focus_widget) @@ -8668,7 +8668,9 @@ gtk_window_focus (GtkWidget *widget, priv->title_box != child && gtk_widget_child_focus (priv->title_box, direction)) return TRUE; - + else if (priv->title_box == child && + gtk_widget_child_focus (gtk_bin_get_child (bin), direction)) + return TRUE; } return FALSE;