bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=688e7001c158af51bb92e586f701a8833cc98b46
commit 688e7001c158af51bb92e586f701a8833cc98b46 Author: Marcel Hollerbach <[email protected]> Date: Tue Nov 21 16:15:02 2017 +0100 efl_ui_focus_manager_calc: remove a logical item that caused a redirect so we dont try to focus a logical item. --- src/lib/elementary/efl_ui_focus_manager_calc.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c index d6f7bfac82..c5e1d496f0 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.c +++ b/src/lib/elementary/efl_ui_focus_manager_calc.c @@ -895,15 +895,21 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_redirect_set(Eo *obj, Efl_Ui_Foc efl_ui_focus_manager_reset_history(old_manager); + //we might have saved a logical element at the top, remove that if there is one + { + Node *n = NULL; + + n = eina_list_last_data_get(pd->focus_stack); + + if (n && n->type == NODE_TYPE_ONLY_LOGICAL && n->redirect_manager == old_manager) + pd->focus_stack = eina_list_remove(pd->focus_stack, n); + } + //adjust focus property of the most upper element { Node *n = NULL; - Eina_List *last; - /* focus the upper most element */ - last = eina_list_last(pd->focus_stack); - if (last) - n = eina_list_data_get(last); + n = eina_list_last_data_get(pd->focus_stack); if (n) { --
