Merge branch 'synthetic-motion-grab' into 'master'

gdk: Avoid synthetic motion confusion

Closes #3439

See merge request GNOME/gtk!3471
This commit is contained in:
Matthias Clasen 2021-04-23 03:11:36 +00:00
commit 4e66e782ea

View File

@ -2443,6 +2443,7 @@ gdk_surface_ensure_motion (GdkSurface *surface)
GdkEvent *event; GdkEvent *event;
double x, y; double x, y;
GdkModifierType state; GdkModifierType state;
GdkSurface *grab_surface;
if (!surface->request_motion) if (!surface->request_motion)
return; return;
@ -2459,6 +2460,12 @@ gdk_surface_ensure_motion (GdkSurface *surface)
if (!gdk_surface_get_device_position (surface, device, &x, &y, &state)) if (!gdk_surface_get_device_position (surface, device, &x, &y, &state))
return; return;
if (gdk_device_grab_info (display, device, &grab_surface, NULL))
{
if (grab_surface != surface)
return;
}
event = gdk_motion_event_new (surface, event = gdk_motion_event_new (surface,
device, device,
NULL, NULL,