efl_ui_focus_manager_calc: prepare everything before border elem eval

otherwise we might miss the elements that are registered on prepare.
This commit is contained in:
Marcel Hollerbach 2018-01-26 13:28:39 +01:00
parent 1be0506b31
commit 7d0008d6e2
1 changed files with 8 additions and 0 deletions

View File

@ -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);