bu5hm4n pushed a commit to branch master.

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

commit b93e744e1f4a507c9a4e1ded89a4d13a238ce514
Author: Marcel Hollerbach <[email protected]>
Date:   Thu Nov 16 22:25:53 2017 +0100

    elm_widget: simplify code
    
    there is now a utility function
---
 src/lib/elementary/elm_widget.c | 41 +----------------------------------------
 1 file changed, 1 insertion(+), 40 deletions(-)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index cefb4d0e11..c4bf2619e8 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -3287,46 +3287,7 @@ elm_widget_focus_mouse_up_handle(Eo *obj)
 
    if (pd->focus.manager && !pd->focus.logical)
      {
-        Efl_Ui_Focus_Manager *m, *m2 = obj, *old = NULL;
-
-        /*
-         * The object we have clicked could be registered in a submanager.
-         * This means we need to look as long as possible to higher redirect 
managers.
-         * And set them to the redirect manager.
-         */
-
-        m = elm_widget_top_get(obj);
-        m2 = efl_ui_focus_user_manager_get(obj);
-
-        if (m2 != m)
-          {
-            //first unset all redirect properties
-            old = m;
-            do
-              {
-                 Efl_Ui_Focus_Manager *tmp;
-                 tmp = efl_ui_focus_manager_redirect_get(old);
-                 if (tmp)
-                   efl_ui_focus_manager_redirect_set(old, NULL);
-                 old = tmp;
-              }
-            while(old);
-            //now set the redirect path to the new object
-            do
-              {
-                Efl_Ui_Focus_Manager *new_manager;;
-
-                new_manager = efl_ui_focus_user_manager_get(m2);
-                //new manager is in a higher hirarchy than m2
-                //so we set m2 as redirect in new_manager
-                efl_ui_focus_manager_redirect_set(new_manager, m2);
-                m2 = new_manager;
-              }
-            while(m && m2 && m != m2);
-          }
-
-
-        efl_ui_focus_manager_focus_set(efl_ui_focus_user_manager_get(obj), 
obj);
+        efl_ui_focus_util_focus(EFL_UI_FOCUS_UTIL_CLASS, obj);
      }
 }
 

-- 


Reply via email to