diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2008-11-15 00:33:26 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2008-11-15 00:33:26 +0000 |
commit | b01062ec911053778cdb48f926238f748178d7c8 (patch) | |
tree | 23f67508bd9ddea632357a6e99985fc55f74da4e | |
parent | 2da67f5c8562048739d17bf81af10f6193fd1258 (diff) | |
download | gdk-pixbuf-b01062ec911053778cdb48f926238f748178d7c8.tar.gz |
Bug 541391 – Unfocussable Treeview swallows focus
* gtk/gtktreeview.c (grab_focus_and_unset_draw_keyfocus),
(gtk_tree_view_focus): Honor GTK_WIDGET_CAN_FOCUS properly
svn path=/branches/gtk-2-14/; revision=21789
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | gtk/gtktreeview.c | 5 |
2 files changed, 13 insertions, 2 deletions
@@ -1,3 +1,13 @@ +2008-11-14 Matthias Clasen <mclasen@redhat.com> + + Merged from trunk: + + Bug 541391 – Unfocussable Treeview swallows focus + + * gtk/gtktreeview.c (grab_focus_and_unset_draw_keyfocus), + (gtk_tree_view_focus): Honor GTK_WIDGET_CAN_FOCUS properly. + Patch by Christian Dywan. + 2008-11-05 Richard Hult <richard@imendio.com> Merged from trunk: diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 3815127f7..77fb9d759 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2461,7 +2461,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget, static void grab_focus_and_unset_draw_keyfocus (GtkTreeView *tree_view) { - if (!GTK_WIDGET_HAS_FOCUS (tree_view)) + if (GTK_WIDGET_CAN_FOCUS (tree_view) && !GTK_WIDGET_HAS_FOCUS (tree_view)) gtk_widget_grab_focus (GTK_WIDGET (tree_view)); GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS); } @@ -7841,7 +7841,8 @@ gtk_tree_view_focus (GtkWidget *widget, GtkContainer *container = GTK_CONTAINER (widget); GtkWidget *focus_child; - if (!GTK_WIDGET_IS_SENSITIVE (container)) + if (!GTK_WIDGET_IS_SENSITIVE (container) || + !GTK_WIDGET_CAN_FOCUS (widget)) return FALSE; focus_child = container->focus_child; |