jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=106339d00f531502cd4cd356cfc4b718cd13de39
commit 106339d00f531502cd4cd356cfc4b718cd13de39 Author: Daniel Zaoui <daniel.za...@samsung.com> Date: Wed Feb 25 10:35:43 2015 +0200 DnD/Wl: add cancel support This feature permits cancellation of a DnD operation in the middle. @feature --- src/lib/elm_cnp.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c index 363d851..f47ad50 100644 --- a/src/lib/elm_cnp.c +++ b/src/lib/elm_cnp.c @@ -4538,23 +4538,25 @@ elm_drag_cancel(Evas_Object *obj) ELM_SAFE_FREE(handler_up, ecore_event_handler_del); ELM_SAFE_FREE(handler_status, ecore_event_handler_del); ecore_x_dnd_abort(xwin); - } - if (dragwidget) - { - if (elm_widget_is(dragwidget)) + if (dragwidget) { - Evas_Object *win = elm_widget_top_get(dragwidget); - if (win && eo_isa(win, ELM_WIN_CLASS)) - evas_object_smart_callback_del_full(win, "rotation,changed", - _x11_win_rotation_changed_cb, dragwin); + if (elm_widget_is(dragwidget)) + { + Evas_Object *win = elm_widget_top_get(dragwidget); + if (win && eo_isa(win, ELM_WIN_CLASS)) + evas_object_smart_callback_del_full(win, "rotation,changed", + _x11_win_rotation_changed_cb, dragwin); + } } + goto end; } #endif #ifdef HAVE_ELEMENTARY_WAYLAND -/* Have to complete here. - * if (elm_win_wl_window_get(obj)) ... */ + if (_wl_elm_widget_window_get(obj)) + ecore_wl_dnd_drag_end(ecore_wl_input_get()); #endif +end: ELM_SAFE_FREE(dragwin, evas_object_del); dragdonecb = NULL; dragacceptcb = NULL; --