devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d1cc93f0467515a256900067cfb7f0026ddf8ae7
commit d1cc93f0467515a256900067cfb7f0026ddf8ae7 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Sep 29 11:55:13 2015 -0400 ecore-wl2: Add API function to end a dnd drag operation Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_wl2/Ecore_Wl2.h | 3 +++ src/lib/ecore_wl2/ecore_wl2_dnd.c | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h index 7e6bb9b..11b4b54 100644 --- a/src/lib/ecore_wl2/Ecore_Wl2.h +++ b/src/lib/ecore_wl2/Ecore_Wl2.h @@ -490,6 +490,9 @@ EAPI void ecore_wl2_dnd_drag_start(Ecore_Wl2_Input *input, Ecore_Wl2_Window *win /* TODO: doxy */ EAPI Eina_Bool ecore_wl2_dnd_drag_get(Ecore_Wl2_Input *input, const char *type); +/* TODO: doxy */ +EAPI void ecore_wl2_dnd_drag_end(Ecore_Wl2_Input *input); + /* # ifdef __cplusplus */ /* } */ /* # endif */ diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index 087fe51..43c8baf 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -287,3 +287,24 @@ ecore_wl2_dnd_drag_get(Ecore_Wl2_Input *input, const char *type) return EINA_TRUE; } + +EAPI void +ecore_wl2_dnd_drag_end(Ecore_Wl2_Input *input) +{ + EINA_SAFETY_ON_NULL_RETURN(input); + + if (input->data.types.data) + { + char **t; + + wl_array_for_each(t, &input->data.types) + free(*t); + wl_array_release(&input->data.types); + wl_array_init(&input->data.types); + } + + if (input->data.source) wl_data_source_destroy(input->data.source); + input->data.source = NULL; + + /* TODO: Raise dnd end event */ +} --