Blame SOURCES/0001-gdk-Always-emit-motion-after-enter.patch

0e5ea9
From 12d965a62da72315d2cd201d30abeb79933f6eb2 Mon Sep 17 00:00:00 2001
0e5ea9
From: Carlos Garnacho <carlosg@gnome.org>
0e5ea9
Date: Mon, 20 Nov 2017 18:54:40 +0100
0e5ea9
Subject: [PATCH] gdk: Always emit motion after enter
0e5ea9
0e5ea9
After a pointer emulating GDK_TOUCH_END event triggering a fake leave
0e5ea9
notify with GDK_CROSSING_TOUCH_END mode, pointer_under_window will be
0e5ea9
unset, which will make the next motion/touch_update event to trigger
0e5ea9
an enter notify event again.
0e5ea9
0e5ea9
Up till there, that's fine, however the motion event is just consumed
0e5ea9
in favor of the just synthesized enter notify event. This is unexpected
0e5ea9
to clients like spice-gtk that will only update coordinates from motion
0e5ea9
events, sending both enter and motion will make them happy.
0e5ea9
---
0e5ea9
 gdk/gdkwindow.c | 5 +++--
0e5ea9
 1 file changed, 3 insertions(+), 2 deletions(-)
0e5ea9
0e5ea9
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
0e5ea9
index 79804cdacd..3ac80e910a 100644
0e5ea9
--- a/gdk/gdkwindow.c
0e5ea9
+++ b/gdk/gdkwindow.c
0e5ea9
@@ -9294,8 +9294,9 @@ proxy_pointer_event (GdkDisplay                 *display,
0e5ea9
 				       serial, non_linear);
0e5ea9
       _gdk_display_set_window_under_pointer (display, device, pointer_window);
0e5ea9
     }
0e5ea9
-  else if (source_event->type == GDK_MOTION_NOTIFY ||
0e5ea9
-           source_event->type == GDK_TOUCH_UPDATE)
0e5ea9
+
0e5ea9
+  if (source_event->type == GDK_MOTION_NOTIFY ||
0e5ea9
+      source_event->type == GDK_TOUCH_UPDATE)
0e5ea9
     {
0e5ea9
       GdkWindow *event_win;
0e5ea9
       guint evmask;
0e5ea9
-- 
0e5ea9
2.14.3
0e5ea9