From 22c7fb86d9f154f339a896ba0069eddfdacb436e Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Thu, 7 Dec 2017 16:42:41 +0100 Subject: [PATCH] efl_ui_focus_manager_calc: refactor into its own stage --- src/lib/elementary/efl_ui_focus_manager_calc.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c index 7fec1f5..3d5f415 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.c +++ b/src/lib/elementary/efl_ui_focus_manager_calc.c @@ -305,21 +305,14 @@ _min_max_gen(Dimension dim, Eina_Rect rect, int *min, int *max) } static inline void -_calculate_node(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, Dimension dim, Eina_List **pos, Eina_List **neg) +_calculate_node_stage1(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, Eina_Rect rect, Dimension dim, Eina_List **pos, Eina_List **neg) { - Eina_Rect rect; + int dim_min, dim_max, cur_pos_min = 0, cur_neg_min = 0; Efl_Ui_Focus_Object *op; - int dim_min, dim_max; Eina_Iterator *nodes; - int cur_pos_min = 0, cur_neg_min = 0; Node *n; nodes = eina_hash_iterator_data_new(pd->node_hash); - rect = efl_ui_focus_object_focus_geometry_get(node); - - *pos = NULL; - *neg = NULL; - _min_max_gen(dim, rect, &dim_min, &dim_max); EINA_ITERATOR_FOREACH(nodes, n) @@ -410,9 +403,24 @@ _calculate_node(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, D #endif } + } eina_iterator_free(nodes); nodes = NULL; + +} + +static inline void +_calculate_node(Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *node, Dimension dim, Eina_List **pos, Eina_List **neg) +{ + Eina_Rect rect; + + rect = efl_ui_focus_object_focus_geometry_get(node); + + *pos = NULL; + *neg = NULL; + + _calculate_node_stage1(pd, node, rect, dim, pos, neg); } #ifdef CALC_DEBUG -- 2.7.4