ecore: properly reset fd handler when parent get deleted.

This commit is contained in:
Cedric BAIL 2016-06-06 16:19:55 -07:00
parent da1506d4e8
commit ef0df96da1
2 changed files with 14 additions and 0 deletions

View File

@ -166,6 +166,19 @@ _efl_loop_fd_eo_base_constructor(Eo *obj, Efl_Loop_Fd_Data *pd)
return obj;
}
static void
_efl_loop_fd_eo_base_parent_set(Eo *obj, Efl_Loop_Fd_Data *pd, Eo_Base *parent)
{
if (pd->handler) ecore_main_fd_handler_del(pd->handler);
pd->handler = NULL;
eo_parent_set(eo_super(obj, MY_CLASS), parent);
if (parent == NULL) return ;
_efl_loop_fd_reset(obj, pd);
}
static void
_efl_loop_fd_eo_base_destructor(Eo *obj, Efl_Loop_Fd_Data *pd)
{

View File

@ -41,5 +41,6 @@ class Efl.Loop.Fd (Efl.Loop_User)
implements {
Eo.Base.constructor;
Eo.Base.destructor;
Eo.Base.parent.set;
}
}