gdk/wayland: Drop surface checks on wl_pointer.leave handling

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.
This commit is contained in:
Carlos Garnacho 2022-08-05 18:33:50 +02:00
parent 8eda182f24
commit c77b98d716

View File

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