efl_io_buffered_stream: del inner_io if we're the parent.

This is a nice convenience if inner_io was reparented to the wrapper.
This commit is contained in:
Gustavo Sverzut Barbieri 2016-12-09 09:25:04 -02:00
parent b2bbc1c188
commit 47f9d06d0b
1 changed files with 4 additions and 1 deletions

View File

@ -175,7 +175,10 @@ _efl_io_buffered_stream_efl_object_destructor(Eo *o, Efl_Io_Buffered_Stream_Data
if (pd->inner_io)
{
efl_event_callback_array_del(pd->inner_io, _efl_io_buffered_stream_inner_io_cbs(), o);
efl_unref(pd->inner_io); /* do not del, just take our ref */
if (efl_parent_get(pd->inner_io) == o)
efl_parent_set(pd->inner_io, NULL);
else
efl_unref(pd->inner_io); /* do not del, just take our ref */
pd->inner_io = NULL;
}