summaryrefslogtreecommitdiff
path: root/src/wayland
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2014-03-11 15:13:15 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2014-03-11 15:30:17 -0400
commit5298cf0a3a5e42e1995f5a36a83e2d0a352a73f7 (patch)
treefa650a27f33c0257913ae898d906c252ed85d49f /src/wayland
parentf1dc1a0cbc6defc7f3153d0dcfe68d330e85f1fd (diff)
downloadmutter-5298cf0a3a5e42e1995f5a36a83e2d0a352a73f7.tar.gz
wayland: Pull in a fix for a FIXME from Weston
Diffstat (limited to 'src/wayland')
-rw-r--r--src/wayland/meta-wayland-data-device.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wayland/meta-wayland-data-device.c b/src/wayland/meta-wayland-data-device.c
index 11c329e73..0785c6d51 100644
--- a/src/wayland/meta-wayland-data-device.c
+++ b/src/wayland/meta-wayland-data-device.c
@@ -318,8 +318,12 @@ data_device_start_drag (struct wl_client *client,
{
MetaWaylandSeat *seat = wl_resource_get_user_data (resource);
MetaWaylandDragGrab *drag_grab;
- /* FIXME: Check that client has implicit grab on the origin
- * surface that matches the given time. */
+
+ if ((seat->pointer.button_count == 0 ||
+ seat->pointer.grab_serial != serial ||
+ !seat->pointer.focus_surface ||
+ seat->pointer.focus_surface != wl_resource_get_user_data (origin_resource)))
+ return;
/* FIXME: Check that the data source type array isn't empty. */