forked from enlightenment/efl
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:
parent
124c7535bb
commit
f6777aa4ac
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue