diff --git a/SOURCES/0001-gdk-Always-emit-motion-after-enter.patch b/SOURCES/0001-gdk-Always-emit-motion-after-enter.patch new file mode 100644 index 0000000..2b728e5 --- /dev/null +++ b/SOURCES/0001-gdk-Always-emit-motion-after-enter.patch @@ -0,0 +1,37 @@ +From 12d965a62da72315d2cd201d30abeb79933f6eb2 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Mon, 20 Nov 2017 18:54:40 +0100 +Subject: [PATCH] gdk: Always emit motion after enter + +After a pointer emulating GDK_TOUCH_END event triggering a fake leave +notify with GDK_CROSSING_TOUCH_END mode, pointer_under_window will be +unset, which will make the next motion/touch_update event to trigger +an enter notify event again. + +Up till there, that's fine, however the motion event is just consumed +in favor of the just synthesized enter notify event. This is unexpected +to clients like spice-gtk that will only update coordinates from motion +events, sending both enter and motion will make them happy. +--- + gdk/gdkwindow.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c +index 79804cdacd..3ac80e910a 100644 +--- a/gdk/gdkwindow.c ++++ b/gdk/gdkwindow.c +@@ -9294,8 +9294,9 @@ proxy_pointer_event (GdkDisplay *display, + serial, non_linear); + _gdk_display_set_window_under_pointer (display, device, pointer_window); + } +- else if (source_event->type == GDK_MOTION_NOTIFY || +- source_event->type == GDK_TOUCH_UPDATE) ++ ++ if (source_event->type == GDK_MOTION_NOTIFY || ++ source_event->type == GDK_TOUCH_UPDATE) + { + GdkWindow *event_win; + guint evmask; +-- +2.14.3 + diff --git a/SPECS/gtk3.spec b/SPECS/gtk3.spec index 5cbe784..dab10a1 100644 --- a/SPECS/gtk3.spec +++ b/SPECS/gtk3.spec @@ -19,7 +19,7 @@ Name: gtk3 Version: 3.22.10 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X License: LGPLv2+ @@ -30,6 +30,7 @@ source1: ja.po # Downstream fix to filter out X-RHEL-AliasOf # https://bugzilla.redhat.com/show_bug.cgi?id=1259292 Patch18: app-chooser-fixes.patch +Patch19: 0001-gdk-Always-emit-motion-after-enter.patch BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk-bridge-2.0) @@ -166,6 +167,7 @@ the functionality of the installed %{name} package. %prep %setup -q -n gtk+-%{version} %patch18 -p1 +%patch19 -p1 cp %{SOURCE1} po/ @@ -356,6 +358,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/installed-tests %changelog +* Fri Dec 15 2017 Carlos Garnacho - 3.22.10-5 +- Fix touch emulated pointer motion event delivery with spice-gtk +Resolves: #1524317 + * Tue May 30 2017 Matthias Clasen - 3.22.10-4 - Update Japanese translations - Resolves: #1449636