[gtk+/gtk-3-22] gdk: Always emit motion after enter



commit 3c40b217b9cf2969ab7cb253d23216c699d2626a
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Nov 20 18:54:40 2017 +0100

    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 is more consistent with X11 and
    will make them happy.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=791039

 gdk/gdkwindow.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 79804cd..3ac80e9 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;


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