bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=253430ab76348d99c81e3b753b6a32817bdb6666

commit 253430ab76348d99c81e3b753b6a32817bdb6666
Author: Marcel Hollerbach <mar...@osg.samsung.com>
Date:   Wed Apr 11 15:35:57 2018 +0200

    efl_ui_focus_manager_calc: call next after requesting a subchild
    
    requesting subchild for subchild is not a good idea, as it really only
    fetches for a subchild, and never calls next and escapes the children of
    the passed node.
    
    fix T6793
---
 src/lib/elementary/efl_ui_focus_manager_calc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c 
b/src/lib/elementary/efl_ui_focus_manager_calc.c
index f6357c3343..9802c9f268 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -82,6 +82,7 @@ typedef struct {
 
 static Node* _request_subchild(Node *node);
 static void dirty_add(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd, Node 
*dirty);
+static Node* _next(Node *node);
 
 static void
 _manager_in_chain_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd)
@@ -1012,9 +1013,10 @@ _efl_ui_focus_manager_calc_update_children(Eo *obj 
EINA_UNUSED, Efl_Ui_Focus_Man
 static inline Node*
 _request_subchild_except(Node *n, Node *except)
 {
+   n = _request_subchild(n);
    do
      {
-        n = _request_subchild(n);
+        n = _next(n);
      }
    while (n == except);
 

-- 


Reply via email to