From 47f9d06d0beff279355b312d417c2b04f3212b82 Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Fri, 9 Dec 2016 09:25:04 -0200 Subject: [PATCH] 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. --- src/lib/ecore/efl_io_buffered_stream.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/efl_io_buffered_stream.c b/src/lib/ecore/efl_io_buffered_stream.c index 6d58e67395..5930fca902 100644 --- a/src/lib/ecore/efl_io_buffered_stream.c +++ b/src/lib/ecore/efl_io_buffered_stream.c @@ -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; }