gdk/wayland: Drop surface checks on wl_pointer.leave handling
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 5 Aug 2022 16:33:50 +0000 (18:33 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 5 Aug 2022 17:25:13 +0000 (19:25 +0200)
Even though the argument is non-nullable, GTK sometimes incurs in that
by itself by destroying the surface while the event is in flight. This
is the case of popping down a GtkDropdown. When this happens we simply
ignore the crossing event, but we should let it through instead, the
compositor did not send it in vain and we possibly still have pointer
state to undo.

Drop the surface checks, so that the event is propagated along GTK.

gdk/wayland/gdkdevice-wayland.c

index 35a0fcc30d7a512e1364bbf81cf4bad81a3a56c1..38d18ec588a32054931f7585ff271810b7c4b97a 100644 (file)
@@ -1555,12 +1555,6 @@ pointer_handle_leave (void              *data,
   GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (seat->display);
   GdkDeviceGrabInfo *grab;
 
-  if (!surface)
-    return;
-
-  if (!GDK_IS_SURFACE (wl_surface_get_user_data (surface)))
-    return;
-
   if (!seat->pointer_info.focus)
     return;