summaryrefslogtreecommitdiff
path: root/src/data-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data-device.c')
-rw-r--r--src/data-device.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/data-device.c b/src/data-device.c
index 75fc60cb..a8ab4e8c 100644
--- a/src/data-device.c
+++ b/src/data-device.c
@@ -666,11 +666,12 @@ data_device_start_drag(struct wl_client *client, struct wl_resource *resource,
source = wl_resource_get_user_data(source_resource);
if (icon_resource)
icon = wl_resource_get_user_data(icon_resource);
- if (icon && icon->configure) {
- wl_resource_post_error(icon_resource,
- WL_DISPLAY_ERROR_INVALID_OBJECT,
- "surface->configure already set");
- return;
+
+ if (icon) {
+ if (weston_surface_set_role(icon, "wl_data_device-icon",
+ resource,
+ WL_DATA_DEVICE_ERROR_ROLE) < 0)
+ return;
}
if (is_pointer_grab)