[gdm] Correctly give focus to the user chooser on startup



commit 00612f5f8288a37ee5159c969030661d2edd14c4
Author: Vincent Untz <vuntz gnome org>
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
    anyway.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=629310

 gui/simple-greeter/gdm-chooser-widget.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)
---
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");
                 return;
         }
 
-        gtk_widget_grab_focus (foc_widget);
+        gtk_widget_child_focus (foc_widget, GTK_DIR_TAB_FORWARD);
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]