efl_io_copier: work around efl_future weirdness.

The pointer given to efl_future_use() should be NULL-ified before
calling my function, since that pointer has no meaning anymore.

The copier relied on pd->job being NULL to avoid useless rescheduling,
it was being reached with non-null, but that pointer is no longer
useful.

Moreover, I'm not sure if the second pointer, with the new future
won't be modified to NULL when the efl_future continues :-(
This commit is contained in:
Gustavo Sverzut Barbieri 2016-10-26 23:17:10 -02:00
parent fa3a2e6489
commit 574e4b8ad5
1 changed files with 2 additions and 0 deletions

View File

@ -98,6 +98,8 @@ _efl_io_copier_job(void *data, const Efl_Event *ev EINA_UNUSED)
uint64_t old_total = pd->progress.total;
_COPIER_DBG(o, pd);
pd->job = NULL; /* XXX TODO this should be NULL-ified by efl_promise before calling this function */
efl_ref(o);
if (pd->source && efl_io_reader_can_read_get(pd->source))