}
static void
-_e_comp_wl_data_device_cb_drag_start(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, struct wl_resource *source_resource, struct wl_resource *origin_resource, struct wl_resource *icon_resource, uint32_t serial)
+_e_comp_wl_data_device_cb_drag_start(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, struct wl_resource *source_resource, struct wl_resource *origin_resource, struct wl_resource *icon_resource, uint32_t serial)
{
E_Comp_Wl_Data *comp_wl;
E_Comp_Wl_Data_Source *source;
E_Desk *desk;
int x, y;
struct wl_client *wc;
+ E_Seat *seat = NULL;
DBG("Data Device Drag Start");
if (!(source = wl_resource_get_user_data(source_resource)))
return;
+ seat = wl_resource_get_user_data(resource);
+ if (!seat) return;
comp_wl->drag_source = source;
}
static void
-_e_comp_wl_data_device_cb_selection_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, struct wl_resource *source_resource, uint32_t serial)
+_e_comp_wl_data_device_cb_selection_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, struct wl_resource *source_resource, uint32_t serial)
{
E_Comp_Wl_Data_Source *source;
E_Comp_Wl_Data *comp_wl = e_comp_wl_get();
+ E_Seat *seat = NULL;
DBG("Data Device Selection Set");
if (!source_resource) return;
if (!(source = wl_resource_get_user_data(source_resource))) return;
+ seat = wl_resource_get_user_data(resource);
+ if (!seat) return;
_e_comp_wl_data_device_selection_set(comp_wl, source, serial);
}
}
static void
-_e_comp_wl_data_manager_cb_device_get(struct wl_client *client, struct wl_resource *manager_resource, uint32_t id, struct wl_resource *seat_resource EINA_UNUSED)
+_e_comp_wl_data_manager_cb_device_get(struct wl_client *client, struct wl_resource *manager_resource, uint32_t id, struct wl_resource *seat_resource)
{
struct wl_resource *res;
E_Comp_Wl_Data *comp_wl = e_comp_wl_get();
+ E_Seat *seat = NULL;
DBG("Data Manager Device Get");
-
/* try to create the data device resource */
res = wl_resource_create(client, &wl_data_device_interface, 3, id);
if (!res)
}
eina_hash_add(comp_wl->mgr.data_resources, &client, res);
- wl_resource_set_implementation(res, &_e_data_device_interface, comp_wl,
+ seat = wl_resource_get_user_data(seat_resource);
+ if (!seat)
+ seat = e_seat_current_get();
+ wl_resource_set_implementation(res, &_e_data_device_interface, seat,
_e_comp_wl_data_device_cb_unbind);
}