diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 55b36c5ac8..e18c3e9c01 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -9286,7 +9286,9 @@ proxy_pointer_event (GdkDisplay *display, return TRUE; } - if (pointer_info->window_under_pointer != pointer_window) + if ((source_event->type != GDK_TOUCH_MOTION || + _gdk_event_get_pointer_emulated (source_event)) && + pointer_info->window_under_pointer != pointer_window) { /* Either a toplevel crossing notify that ended up inside a child window, or a motion notify that got into another child window */