From c77b98d71635a4cbec4b089b17659d17af09baf9 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 5 Aug 2022 18:33:50 +0200 Subject: [PATCH] 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. --- gdk/wayland/gdkdevice-wayland.c | 6 ------ 1 file changed, 6 deletions(-) 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; -- 2.30.2