From fc2879108d577ced23b46ca636be72e1883c3666 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 21 Dec 2015 19:13:41 +0100 Subject: [PATCH] wayland: Don't trigger grab on missing capabilities Those might not be currently there in the first place. --- gdk/wayland/gdkdevice-wayland.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index 7afc30fc65..969ed96f58 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -2438,7 +2438,8 @@ gdk_wayland_seat_grab (GdkSeat *seat, return GDK_GRAB_NOT_VIEWABLE; } - if (capabilities & GDK_SEAT_CAPABILITY_POINTER) + if (wayland_seat->master_pointer && + capabilities & GDK_SEAT_CAPABILITY_POINTER) { GdkWindow *prev_focus = gdk_wayland_device_get_focus (wayland_seat->master_pointer); @@ -2461,7 +2462,8 @@ gdk_wayland_seat_grab (GdkSeat *seat, gdk_wayland_device_update_window_cursor (wayland_seat); } - if (capabilities & GDK_SEAT_CAPABILITY_TOUCH) + if (wayland_seat->touch_master && + capabilities & GDK_SEAT_CAPABILITY_TOUCH) { GdkWindow *prev_focus = gdk_wayland_device_get_focus (wayland_seat->touch_master); @@ -2481,7 +2483,8 @@ gdk_wayland_seat_grab (GdkSeat *seat, FALSE); } - if (capabilities & GDK_SEAT_CAPABILITY_KEYBOARD) + if (wayland_seat->master_keyboard && + capabilities & GDK_SEAT_CAPABILITY_KEYBOARD) { GdkWindow *prev_focus = gdk_wayland_device_get_focus (wayland_seat->master_keyboard);