if (!ec->comp_data->surface) return;
if (ec->comp_data->transform.start) return;
+ e_comp_wl->ptr.ec = ec;
+ if (e_comp_wl->drag)
+ {
+ e_comp_wl_data_device_send_enter(ec);
+ return;
+ }
+
if (e_config->use_cursor_timer)
{
if (e_pointer_is_hidden(e_comp->pointer))
e_comp_wl->ptr.hide_tmr = ecore_timer_add(e_config->cursor_timer_interval, _e_comp_wl_cursor_timer, ec);
}
- e_comp_wl->ptr.ec = ec;
- if (e_comp_wl->drag)
- {
- e_comp_wl_data_device_send_enter(ec);
- return;
- }
if (!eina_list_count(e_comp_wl->ptr.resources)) return;
wc = wl_resource_get_client(ec->comp_data->surface);
serial = wl_display_next_serial(e_comp_wl->wl.disp);
struct wl_resource *res;
int x, y;
+
res = e_comp_wl_data_find_for_client(wl_resource_get_client(e_comp_wl->selection.target->comp_data->surface));
x = ev->x - e_comp_wl->selection.target->client.x;
y = ev->y - e_comp_wl->selection.target->client.y;
+
+ if (e_comp_wl->drag_client)
+ evas_object_move(e_comp_wl->drag_client->frame, x, y);
+
wl_data_device_send_motion(res, ev->timestamp, wl_fixed_from_int(x), wl_fixed_from_int(y));
}
if (e_comp_wl->drag &&
}
TS("[DEFERRED] Screens Init: win Done");
+ TS("[DEFERRED] E_Dnd Init");
+ if (!e_dnd_init())
+ {
+ e_error_message_show(_("Enlightenment cannot set up its dnd system.\n"));
+ _e_main_shutdown(-1);
+ }
+ TS("[DEFERRED] E_Dnd Init Done");
+ _e_main_shutdown_push(e_dnd_shutdown);
+
TS("[DEFERRED] E_Pointer Init");
if (!e_pointer_init())
{
_e_main_desk_restore();
-#ifndef HAVE_WAYLAND_ONLY
+#ifndef ENABLE_QUICK_INIT
if (e_config->show_splash)
e_init_status_set(_("Setup DND"));
TS("E_Dnd Init");