From cead9c0ba2ed13809f0394267280f09329d02be3 Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Tue, 25 Nov 2014 21:55:37 +0900 Subject: [PATCH] index, list, menu: Optimize eo item usage. Remove unnecessary pointer reference. --- legacy/elementary/src/lib/elm_index.c | 2 +- legacy/elementary/src/lib/elm_list.c | 11 ++++++----- legacy/elementary/src/lib/elm_menu.c | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/legacy/elementary/src/lib/elm_index.c b/legacy/elementary/src/lib/elm_index.c index 3c9bb24acc..139a903690 100644 --- a/legacy/elementary/src/lib/elm_index.c +++ b/legacy/elementary/src/lib/elm_index.c @@ -477,7 +477,7 @@ _item_find(Evas_Object *obj, EINA_LIST_FOREACH(sd->items, l, eo_item) { ELM_INDEX_ITEM_DATA_GET(eo_item, it); - if (WIDGET_ITEM_DATA_GET(EO_OBJ(it)) == data) return it; + if (WIDGET_ITEM_DATA_GET(eo_item) == data) return it; } return NULL; } diff --git a/legacy/elementary/src/lib/elm_list.c b/legacy/elementary/src/lib/elm_list.c index b196f808e4..fbe49c289a 100644 --- a/legacy/elementary/src/lib/elm_list.c +++ b/legacy/elementary/src/lib/elm_list.c @@ -604,7 +604,7 @@ static Eina_Bool _key_action_select(Evas_Object *obj, const char *params EINA_UN if (eo_it) { ELM_LIST_ITEM_DATA_GET(eo_it, it); - evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, EO_OBJ(it)); + evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, eo_it); } return EINA_TRUE; @@ -1365,6 +1365,7 @@ _item_select(Elm_List_Item_Data *it) ELM_LIST_ITEM_CHECK_OR_RETURN(it); obj = WIDGET(it); ELM_LIST_DATA_GET(obj, sd); + Elm_Object_Item *eo_it = EO_OBJ(it); if (it->base->disabled || _is_no_select(it)) return; @@ -1392,15 +1393,15 @@ _item_select(Elm_List_Item_Data *it) _elm_list_item_content_focus_set(it, ELM_FOCUS_PREVIOUS, sd->h_mode); it->selected = EINA_TRUE; - sd->selected = eina_list_append(sd->selected, EO_OBJ(it)); + sd->selected = eina_list_append(sd->selected, eo_it); call: evas_object_ref(obj); _elm_list_walk(sd); - if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), EO_OBJ(it)); - evas_object_smart_callback_call(obj, SIG_SELECTED, EO_OBJ(it)); - sd->last_selected_item = EO_OBJ(it); + if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), eo_it); + evas_object_smart_callback_call(obj, SIG_SELECTED, eo_it); + sd->last_selected_item = eo_it; _elm_list_unwalk(obj, sd); evas_object_unref(obj); diff --git a/legacy/elementary/src/lib/elm_menu.c b/legacy/elementary/src/lib/elm_menu.c index 7bcf352ac7..b696ecebfe 100644 --- a/legacy/elementary/src/lib/elm_menu.c +++ b/legacy/elementary/src/lib/elm_menu.c @@ -1005,7 +1005,7 @@ _elm_menu_item_add(Eo *obj, Elm_Menu_Data *sd, Elm_Object_Item *parent, const ch ELM_MENU_ITEM_DATA_GET(eo_item, it); - WIDGET_ITEM_DATA_SET(EO_OBJ(it), data); + WIDGET_ITEM_DATA_SET(eo_item, data); it->func = func; it->parent = eo_data_scope_get(parent, ELM_MENU_ITEM_CLASS); it->content = icon_obj;