diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-08-06 15:02:19 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-08-20 11:56:19 +0200 |
commit | 8da56ac873d5bb083b7cfe08aeefdaa2ad9a4b99 (patch) | |
tree | 9c35271f1a25e0315fc14109d5ae297e127711cf | |
parent | 1c0f878fa6e02d930b3a88ad7281889cc15da145 (diff) | |
download | efl-8da56ac873d5bb083b7cfe08aeefdaa2ad9a4b99.tar.gz |
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
-rw-r--r-- | src/lib/elementary/efl_ui_focus_composition.c | 9 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_focus_composition.eo | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_focus_composition.c b/src/lib/elementary/efl_ui_focus_composition.c index 57c45ad35b..d62f1e4ed3 100644 --- a/src/lib/elementary/efl_ui_focus_composition.c +++ b/src/lib/elementary/efl_ui_focus_composition.c @@ -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 { diff --git a/src/lib/elementary/efl_ui_focus_composition.eo b/src/lib/elementary/efl_ui_focus_composition.eo index 0654db8b97..2befe106b0 100644 --- a/src/lib/elementary/efl_ui_focus_composition.eo +++ b/src/lib/elementary/efl_ui_focus_composition.eo @@ -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; |