From 7d0008d6e238f266f0bf74a0c042da34eba6a798 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Fri, 26 Jan 2018 13:28:39 +0100 Subject: [PATCH] efl_ui_focus_manager_calc: prepare everything before border elem eval otherwise we might miss the elements that are registered on prepare. --- src/lib/elementary/efl_ui_focus_manager_calc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c index a25675533c..600deea46c 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.c +++ b/src/lib/elementary/efl_ui_focus_manager_calc.c @@ -1177,9 +1177,17 @@ EOLIAN static Eina_Iterator* _efl_ui_focus_manager_calc_efl_ui_focus_manager_border_elements_get(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd) { Border_Elements_Iterator *it; + Node *n; dirty_flush_all(obj, pd); + Eina_Iterator *elements = eina_hash_iterator_data_new(pd->node_hash); + EINA_ITERATOR_FOREACH(elements, n) + { + efl_ui_focus_object_prepare_logical(n->focusable); + } + eina_iterator_free(elements); + it = calloc(1, sizeof(Border_Elements_Iterator)); EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR);