From: Carlos Garnacho Date: Fri, 5 Aug 2022 16:33:50 +0000 (+0200) Subject: gdk/wayland: Drop surface checks on wl_pointer.leave handling X-Git-Tag: archive/raspbian/4.8.3+ds-2+rpi1~3^2~20^2~4^2~14^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c77b98d71635a4cbec4b089b17659d17af09baf9;p=gtk4.git 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. --- diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index 35a0fcc30d..38d18ec588 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -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;