diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2014-09-30 17:09:11 +0200 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-10-06 19:39:43 -0700 |
commit | f211b3ec9046547be8ce9644383b57acacf5a378 (patch) | |
tree | 1cd70123c2b248b6406513958946bbdf5913696d | |
parent | 0510c3a62149d5897c9f04f67614cce4d65153af (diff) | |
download | mutter-f211b3ec9046547be8ce9644383b57acacf5a378.tar.gz |
wayland: Store whether the wl_data_source has a target selected
It will be useful to check whether DnD is going to fail or not.
-rw-r--r-- | src/wayland/meta-wayland-data-device.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/wayland/meta-wayland-data-device.c b/src/wayland/meta-wayland-data-device.c index ffa8d7d28..7697ca744 100644 --- a/src/wayland/meta-wayland-data-device.c +++ b/src/wayland/meta-wayland-data-device.c @@ -46,6 +46,7 @@ struct _MetaWaylandDataSource { struct wl_resource *resource; struct wl_array mime_types; + gboolean has_target; }; static void @@ -67,7 +68,10 @@ data_offer_accept (struct wl_client *client, * this be a wl_data_device request? */ if (offer->source) - wl_data_source_send_target (offer->source->resource, mime_type); + { + wl_data_source_send_target (offer->source->resource, mime_type); + offer->source->has_target = mime_type != NULL; + } } static void @@ -280,7 +284,10 @@ data_device_end_drag_grab (MetaWaylandDragGrab *drag_grab) } if (drag_grab->drag_data_source) - wl_list_remove (&drag_grab->drag_data_source_listener.link); + { + drag_grab->drag_data_source->has_target = FALSE; + wl_list_remove (&drag_grab->drag_data_source_listener.link); + } drag_grab->seat->data_device.current_grab = NULL; |