efl_ui_composition: remove all children in invalidate

When the element that iherits from composition is invalidated, all items
should be unregistered.

fix T7213

Differential Revision: https://phab.enlightenment.org/D6755
This commit is contained in:
Marcel Hollerbach 2018-08-06 15:02:19 +02:00
parent 1c0f878fa6
commit 8da56ac873
2 changed files with 10 additions and 0 deletions

View File

@ -225,6 +225,15 @@ _efl_ui_focus_composition_logical_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Foc
return pd->logical;
}
EOLIAN static void
_efl_ui_focus_composition_efl_object_invalidate(Eo *obj, Efl_Ui_Focus_Composition_Data *pd EINA_UNUSED)
{
efl_invalidate(efl_super(obj, MY_CLASS));
efl_ui_focus_composition_elements_set(obj, NULL);
}
#include "efl_ui_focus_composition.eo.c"
typedef struct {

View File

@ -46,6 +46,7 @@ mixin Efl.Ui.Focus.Composition (Efl.Interface, Efl.Ui.Widget) {
}
}
implements {
Efl.Object.invalidate;
Efl.Ui.Widget.focus_state_apply;
Efl.Ui.Focus.Object.prepare_logical_none_recursive;
@empty .prepare;