diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c index edd4305be2..3e2292c92a 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.c +++ b/src/lib/elementary/efl_ui_focus_manager_calc.c @@ -1468,20 +1468,15 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_request_move(Eo *obj, Efl_Ui_Foc Node *child_node; EINA_SAFETY_ON_FALSE_RETURN_VAL(DIRECTION_CHECK(direction), NULL); - if (pd->redirect) - return efl_ui_focus_manager_request_move(pd->redirect, direction, NULL, logical); + if (!child) + child_node = eina_list_last_data_get(pd->focus_stack); else - { - if (!child) - child_node = eina_list_last_data_get(pd->focus_stack); - else - child_node = node_get(obj, pd, child); + child_node = node_get(obj, pd, child); - if (!child_node) - return NULL; + if (!child_node) + return NULL; - return _request_move(obj, pd, direction, child_node, logical); - } + return _request_move(obj, pd, direction, child_node, logical); } static int diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c index baaa157987..fec321e746 100644 --- a/src/lib/elementary/elm_main.c +++ b/src/lib/elementary/elm_main.c @@ -1665,7 +1665,7 @@ elm_object_focus_next_object_get(const Evas_Object *obj, Efl_Ui_Widget *top = elm_object_top_widget_get(obj); EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL); - return efl_ui_focus_manager_request_move(top, dir, NULL, EINA_FALSE); + return efl_ui_focus_manager_request_move(efl_ui_focus_util_active_manager(EFL_UI_FOCUS_UTIL_CLASS, top), dir, NULL, EINA_FALSE); } EAPI void