return efl_event_callback_array_priority_add(efl_super(obj, EFL_UI_DND_MIXIN), array, priority, user_data);
}
+EOLIAN static Eina_Bool
+_efl_ui_dnd_efl_object_event_callback_array_del(Eo *obj, Efl_Ui_Dnd_Data *pd,
+ const Efl_Callback_Array_Item *array,
+ const void *user_data)
+{
+ for (int i = 0; array[i].desc; ++i)
+ {
+ if (IS_DROP_EVENT(array[i].desc) && pd->registered)
+ {
+ pd->registered = EINA_FALSE;
+ _drop_event_unregister(obj);
+ }
+ }
+ return efl_event_callback_array_del(efl_super(obj, EFL_UI_DND_MIXIN), array, user_data);
+}
+
+
#define EFL_UI_DND_EXTRA_OPS \
EFL_OBJECT_OP_FUNC(efl_event_callback_priority_add, _efl_ui_dnd_efl_object_event_callback_priority_add), \
EFL_OBJECT_OP_FUNC(efl_event_callback_array_priority_add, _efl_ui_dnd_efl_object_event_callback_array_priority_add), \
+ EFL_OBJECT_OP_FUNC(efl_event_callback_array_del, _efl_ui_dnd_efl_object_event_callback_array_del), \
#include "efl_ui_dnd.eo.c"
efl_event_callback_array_del(obj, drop_target_cb(), eina_list_data_get(found));
eina_hash_list_remove(target_register, &obj, target);
eina_array_free(target->mime_types);
- _drop_event_unregister(obj); //this is ensuring that we are also supporting none widgets
free(target);
}