diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 2e30376527..2d9c2bf1f3 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -9289,7 +9289,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 */