40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
Upstream-Status: Backport [29faa2db]
|
|
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
|
|
|
|
|
From 29faa2db44b04b9cf7f4d96e32691f424490c730 Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 11 Sep 2016 11:47:55 -0400
|
|
Subject: [PATCH] Redo focus handling in treeview once more
|
|
|
|
The fix for bug 767468 had some unintended side-effects. This is
|
|
an attempt at doing the same fix (don't grab focus when we are
|
|
grab-shadowed), while avoiding the breakage, by using GTK+'s
|
|
internal tracking for grab-shadowed-ness.
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=770508
|
|
---
|
|
gtk/gtktreeview.c | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
|
|
index a7463cc..73d3557 100644
|
|
--- a/gtk/gtktreeview.c
|
|
+++ b/gtk/gtktreeview.c
|
|
@@ -3050,11 +3050,10 @@ static void
|
|
grab_focus_and_unset_draw_keyfocus (GtkTreeView *tree_view)
|
|
{
|
|
GtkWidget *widget = GTK_WIDGET (tree_view);
|
|
- GtkWidget *grab_widget = gtk_grab_get_current ();
|
|
|
|
if (gtk_widget_get_can_focus (widget) &&
|
|
!gtk_widget_has_focus (widget) &&
|
|
- (!grab_widget || grab_widget == widget))
|
|
+ !_gtk_widget_get_shadowed (widget))
|
|
gtk_widget_grab_focus (widget);
|
|
|
|
tree_view->priv->draw_keyfocus = 0;
|
|
--
|
|
2.9.3
|
|
|