File gdm-focus-user-chooser.patch of Package gdm.import4636

commit b971eb1038cb92ed8211b68a7d2a99a98d86ed7f
Author: Vincent Untz <>
Date:   Wed Jan 12 18:38:46 2011 +0100

    Correctly give focus to the user chooser on startup
    We manually handle how focus works in the GdmChooserWidget container,
    and we try to automatically move the focus to the treeview inside the
    chooser. However, it fails the first time because the treeview is not
    realized yet and the logic in the code assumes that if focus moved to
    the chooser, it moved to the treeview, so later attempt to get the focus
    grabbed by the treeview are just ignored.
    It works fine when using gtk_widget_child_focus() to give the focus to
    the treeview. And this makes more sense since the chooser is a container

diff --git a/gui/simple-greeter/gdm-chooser-widget.c b/gui/simple-greeter/gdm-chooser-widget.c
index db2d9b2..ebbfdb9 100644
--- a/gui/simple-greeter/gdm-chooser-widget.c
+++ b/gui/simple-greeter/gdm-chooser-widget.c
@@ -910,17 +910,13 @@ _grab_focus (GtkWidget *widget)
         foc_widget = GDM_CHOOSER_WIDGET (widget)->priv->items_view;
         g_debug ("GdmChooserWidget: grabbing focus");
-        if (! gtk_widget_get_realized (foc_widget)) {
-                g_debug ("GdmChooserWidget: not grabbing focus - not realized");
-                return;
-        }
         if (gtk_widget_has_focus (foc_widget)) {
                 g_debug ("GdmChooserWidget: not grabbing focus - already has it");
-        gtk_widget_grab_focus (foc_widget);
+        gtk_widget_child_focus (foc_widget, GTK_DIR_TAB_FORWARD);
 static void
openSUSE Build Service is sponsored by