EINA_LIST_FREE(tmp, promise)
ecore_loop_promise_fulfill(promise);
+ // FIXME
+ __eina_promise_cancel_all();
+
while (pd->fd_handlers)
{
Ecore_Fd_Handler *fdh = pd->fd_handlers;
EINA_ARRAY_ITER_NEXT(&all->members, i, fa, iterator)
{
if (fa->d)
- EINA_REFCOUNT_UNREF(fa->d)
- _efl_promise_msg_free(fa->d);
+ {
+ EINA_REFCOUNT_UNREF(fa->d)
+ _efl_promise_msg_free(fa->d);
+ fa->d = NULL;
+ }
}
efl_del(all->promise);
all->promise = NULL;
while ((fa = eina_array_pop(&all->members)))
{
- EINA_REFCOUNT_UNREF(fa->d)
- _efl_promise_msg_free(fa->d);
+ if (fa->d)
+ {
+ EINA_REFCOUNT_UNREF(fa->d)
+ _efl_promise_msg_free(fa->d);
+ }
assert(fa->f == NULL);
free(fa);
}