Eina_List *l;
struct wl_resource *res;
E_Client *drag_icon_ec = NULL, *ec = NULL;
+ E_Client *ec_under_pointer = NULL;
+ E_Desk *desk;
int x, y;
DBG("Data Device Drag Start");
e_drag_resize(e_comp_wl->drag, drag_icon_ec->w, drag_icon_ec->h);
}
e_drag_start(e_comp_wl->drag, x, y);
- if (e_comp_wl->ptr.ec)
- e_comp_wl_data_device_send_enter(e_comp_wl->ptr.ec);
+
+ desk = e_desk_current_get(e_comp_zone_find_by_ec(ec));
+ ec_under_pointer = e_client_input_rect_under_pointer_get(desk, e_comp_wl->drag_client);
+ if (ec_under_pointer)
+ e_comp_wl_data_device_send_enter(ec_under_pointer);
+
e_comp_canvas_feed_mouse_up(0);
e_comp_wl_data_current_device_id_set(-1);