efl_ui_focus_manager_calc: search redirect_entry if there is no candidate

Summary:
redirect is out of the focus stack. we need to find redirect_entry after last
node of redirect manager instead of focus stack.

Test Plan:
1. elementary_test -to focus
2. move focus using tab key
3. check that there is focus cycle

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5811
This commit is contained in:
YeongJong Lee 2018-02-20 15:10:05 +01:00 committed by Marcel Hollerbach
parent 124c7535bb
commit f6777aa4ac
1 changed files with 3 additions and 4 deletions

View File

@ -73,7 +73,7 @@ typedef struct {
Eina_List *focus_stack;
Eina_Hash *node_hash;
Efl_Ui_Focus_Manager *redirect;
Efl_Ui_Focus_Manager *redirect_entry;
Efl_Ui_Focus_Object *redirect_entry;
Eina_List *dirty;
Node *root;
@ -1663,9 +1663,8 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_move(Eo *obj EINA_UNUSED, Efl_Ui
if (DIRECTION_IS_LOGICAL(direction))
{
// lets just take the last
Node *n = eina_list_last_data_get(pd->focus_stack);
// lets just take the redirect_entry
Node *n = eina_hash_find(pd->node_hash, &pd->redirect_entry);
new_candidate = _request_move(obj, pd, direction, n);
if (new_candidate)