diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index bb4ef0bebf..90ecb1777e 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -550,6 +550,9 @@ pointer_handle_enter (void *data, GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (device->display); + if (!surface) + return; + _gdk_wayland_display_update_serial (wayland_display, serial); device->pointer_focus = wl_surface_get_user_data(surface); @@ -589,6 +592,9 @@ pointer_handle_leave (void *data, GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (device->display); + if (!surface) + return; + _gdk_wayland_display_update_serial (wayland_display, serial); event = gdk_event_new (GDK_LEAVE_NOTIFY); @@ -777,6 +783,9 @@ keyboard_handle_enter (void *data, GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (device->display); + if (!surface) + return; + _gdk_wayland_display_update_serial (wayland_display, serial); device->keyboard_focus = wl_surface_get_user_data(surface); @@ -808,6 +817,9 @@ keyboard_handle_leave (void *data, GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (device->display); + if (!surface) + return; + _gdk_wayland_display_update_serial (wayland_display, serial); _gdk_wayland_window_remove_focus (device->keyboard_focus);