diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-03-11 15:13:15 -0400 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-03-11 15:30:17 -0400 |
commit | 5298cf0a3a5e42e1995f5a36a83e2d0a352a73f7 (patch) | |
tree | fa650a27f33c0257913ae898d906c252ed85d49f /src/wayland | |
parent | f1dc1a0cbc6defc7f3153d0dcfe68d330e85f1fd (diff) | |
download | mutter-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.c | 8 |
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. */ |