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