From 5aa03bcb0d6f590deeda5a1df283adba6ac028dc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 17 Jan 2021 11:39:36 -0500 Subject: [PATCH] aboutdialog: Fix initial focus When GtkAboutDialog was changed to derive from GtkWindow, it lost the initial focus handling that GtkDialog has. Reinstate some of it. Fixes: #3437 --- gtk/gtkaboutdialog.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 4cdee36575..6e806856b2 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -315,6 +315,17 @@ stack_visible_child_notify (GtkStack *stack, return FALSE; } +static void +gtk_about_dialog_map (GtkWidget *widget) +{ + GtkAboutDialog *about = GTK_ABOUT_DIALOG (widget); + + if (gtk_widget_get_visible (about->stack_switcher)) + gtk_widget_grab_focus (gtk_widget_get_first_child (about->stack_switcher)); + + GTK_WIDGET_CLASS (gtk_about_dialog_parent_class)->map (widget); +} + static void gtk_about_dialog_class_init (GtkAboutDialogClass *klass) { @@ -329,6 +340,8 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass) object_class->finalize = gtk_about_dialog_finalize; + widget_class->map = gtk_about_dialog_map; + klass->activate_link = gtk_about_dialog_activate_link; /**