efl_io_copier: on close, emit "done" if still pending.
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Sat, 22 Oct 2016 14:01:17 +0000 (12:01 -0200)
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Sat, 22 Oct 2016 14:04:25 +0000 (12:04 -0200)
done event must be emitted before "closed" in order to notify it won't
do anything else.

src/lib/ecore/efl_io_copier.c

index 80b1b62..ab5314a 100644 (file)
@@ -610,6 +610,12 @@ _efl_io_copier_efl_io_closer_close(Eo *o, Efl_Io_Copier_Data *pd)
    if (pd->inactivity_timer)
      efl_future_cancel(pd->inactivity_timer);
 
+   if (!pd->done)
+     {
+        pd->done = EINA_TRUE;
+        efl_event_callback_call(o, EFL_IO_COPIER_EVENT_DONE, NULL);
+     }
+
    if (pd->source)
      {
         if (efl_isa(pd->source, EFL_IO_SIZER_MIXIN))