forked from enlightenment/efl
efl_ui_pager: fix to delete component objects when pager is deleted
Pager creates Efl.Canvas.Rectangle objects when pager is constructed. Since the parent of these component objects is evas, these component objects are not deleted automatically when pager is deleted. These component objects cause event block after pager is deleted. (e.g. click event is blocked) To resolve this issue, these component objects are deleted manually when pager is deleted.
This commit is contained in:
parent
74d1a0ec08
commit
382520fda4
|
@ -379,6 +379,19 @@ _efl_ui_pager_efl_object_constructor(Eo *obj,
|
|||
return obj;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_pager_efl_object_invalidate(Eo *obj,
|
||||
Efl_Ui_Pager_Data *pd)
|
||||
{
|
||||
efl_invalidate(efl_super(obj, MY_CLASS));
|
||||
|
||||
/* Since the parent of foreclip and backclip is evas, foreclip and backclip
|
||||
* are not deleted automatically when pager is deleted.
|
||||
* Therefore, foreclip and backclip are deleted manually here. */
|
||||
efl_del(pd->foreclip);
|
||||
efl_del(pd->backclip);
|
||||
}
|
||||
|
||||
EOLIAN static int
|
||||
_efl_ui_pager_efl_container_content_count(Eo *obj EINA_UNUSED,
|
||||
Efl_Ui_Pager_Data *pd)
|
||||
|
|
|
@ -90,6 +90,7 @@ class @beta Efl.Ui.Pager extends Efl.Ui.Layout_Base implements Efl.Pack_Linear
|
|||
}
|
||||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.invalidate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Pack.pack_clear; //TODO
|
||||
Efl.Pack.unpack_all; //TODO
|
||||
|
|
Loading…
Reference in New Issue