All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] gtk+3: Backport treeview focus fix
@ 2016-10-04 13:16 Jussi Kukkonen
  0 siblings, 0 replies; only message in thread
From: Jussi Kukkonen @ 2016-10-04 13:16 UTC (permalink / raw)
  To: openembedded-core

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].

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 ...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(+)
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/0001-Redo-focus-handling-in-treeview-once-more.patch

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"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-10-04 13:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-04 13:16 [PATCH] gtk+3: Backport treeview focus fix Jussi Kukkonen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.