[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2877/8267] gtk+3: Backport treeview focus fix



commit 079396f5a2909e479a0a8652b16bec6a99674914
Author: Jussi Kukkonen <jussi kukkonen intel com>
Date:   Tue Oct 4 16:16:42 2016 +0300

    gtk+3: Backport treeview focus fix
    
    Treeview did not grab focus properly on mouse click, leading to e.g.
    multifile selection with click/shift-click not working in the
    filechooser. Backport a fix.
    
    Fixes [YOCTO #10273].
    
    (From OE-Core rev: d408b79dba47e4392a9d13aff1660a1e483a765c)
    
    Signed-off-by: Jussi Kukkonen <jussi kukkonen intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 ...Redo-focus-handling-in-treeview-once-more.patch |   39 ++++++++++++++++++++
 meta/recipes-gnome/gtk+/gtk+3_3.20.9.bb            |    1 +
 2 files changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0001-Redo-focus-handling-in-treeview-once-more.patch 
b/meta/recipes-gnome/gtk+/gtk+3/0001-Redo-focus-handling-in-treeview-once-more.patch
new file mode 100644
index 0000000..e819add
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/0001-Redo-focus-handling-in-treeview-once-more.patch
@@ -0,0 +1,39 @@
+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
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.20.9.bb b/meta/recipes-gnome/gtk+/gtk+3_3.20.9.bb
index 9a0bfc4..38e095a 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.20.9.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.20.9.bb
@@ -7,6 +7,7 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar
            file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \
            file://0003-Add-disable-opengl-configure-option.patch \
            file://0004-configure.ac-Fix-wayland-protocols-path.patch \
+           file://0001-Redo-focus-handling-in-treeview-once-more.patch \
           "
 SRC_URI[md5sum] = "cc76cac5e18c772c6784bf19a3dff08b"
 SRC_URI[sha256sum] = "83a609ba2f3424b5509e73967c49c67833af466d6f91081b24ee5c64fce6ac17"


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