DnD/Wl: add cancel support

This feature permits cancellation of a DnD operation in the middle.

@feature
This commit is contained in:
Daniel Zaoui 2015-02-25 10:35:43 +02:00 committed by Daniel Zaoui
parent fbb0371901
commit 703f86dfb4
1 changed files with 12 additions and 10 deletions

View File

@ -4538,7 +4538,6 @@ elm_drag_cancel(Evas_Object *obj)
ELM_SAFE_FREE(handler_up, ecore_event_handler_del); ELM_SAFE_FREE(handler_up, ecore_event_handler_del);
ELM_SAFE_FREE(handler_status, ecore_event_handler_del); ELM_SAFE_FREE(handler_status, ecore_event_handler_del);
ecore_x_dnd_abort(xwin); ecore_x_dnd_abort(xwin);
}
if (dragwidget) if (dragwidget)
{ {
if (elm_widget_is(dragwidget)) if (elm_widget_is(dragwidget))
@ -4549,12 +4548,15 @@ elm_drag_cancel(Evas_Object *obj)
_x11_win_rotation_changed_cb, dragwin); _x11_win_rotation_changed_cb, dragwin);
} }
} }
goto end;
}
#endif #endif
#ifdef HAVE_ELEMENTARY_WAYLAND #ifdef HAVE_ELEMENTARY_WAYLAND
/* Have to complete here. if (_wl_elm_widget_window_get(obj))
* if (elm_win_wl_window_get(obj)) ... */ ecore_wl_dnd_drag_end(ecore_wl_input_get());
#endif #endif
end:
ELM_SAFE_FREE(dragwin, evas_object_del); ELM_SAFE_FREE(dragwin, evas_object_del);
dragdonecb = NULL; dragdonecb = NULL;
dragacceptcb = NULL; dragacceptcb = NULL;