47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
|
From b971eb1038cb92ed8211b68a7d2a99a98d86ed7f Mon Sep 17 00:00:00 2001
|
||
|
From: Vincent Untz <vuntz@gnome.org>
|
||
|
Date: Wed, 12 Jan 2011 18:38:46 +0100
|
||
|
Subject: [PATCH] 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
|
||
|
--
|
||
|
1.7.3.4
|