diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 745946c8b2..7e211aaa0f 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5667,7 +5667,10 @@ gtk_window_set_focus (GtkWindow *window, { g_return_if_fail (GTK_IS_WINDOW (window)); - gtk_root_set_focus (GTK_ROOT (window), focus); + if (focus) + gtk_widget_grab_focus (focus); + else + gtk_window_root_set_focus (GTK_ROOT (window), NULL); } static void