seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=68e3dc632782f2d7883aba25f10416a43d0d20ee
commit 68e3dc632782f2d7883aba25f10416a43d0d20ee Author: Daniel Juyung Seo <seojuyu...@gmail.com> Date: Tue Nov 25 21:54:52 2014 +0900 diskselector, flipselector: Optimize eo item usage. Remove unnecessary pointer reference. --- src/lib/elm_diskselector.c | 12 +++++++----- src/lib/elm_flipselector.c | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c index 3768845..0134588 100644 --- a/src/lib/elm_diskselector.c +++ b/src/lib/elm_diskselector.c @@ -83,12 +83,13 @@ _item_select(Elm_Diskselector_Item_Data *it) if (!it) return; ELM_DISKSELECTOR_DATA_GET(WIDGET(it), sd); + Elm_Object_Item *eo_it = EO_OBJ(it); sd->selected_item = it; _selected_item_indicate(sd->selected_item); - if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), EO_OBJ(it)); - evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, EO_OBJ(it)); + if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), eo_it); + evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, eo_it); } static int @@ -594,6 +595,7 @@ _item_click_cb(void *data, if (!it) return; ELM_DISKSELECTOR_DATA_GET(WIDGET(it), sd); + Elm_Object_Item *eo_it = EO_OBJ(it); if (sd->selected_item != it) { @@ -601,8 +603,8 @@ _item_click_cb(void *data, _selected_item_indicate(sd->selected_item); } - if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), EO_OBJ(it)); - evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED, EO_OBJ(it)); + if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), eo_it); + evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED, eo_it); } static char * @@ -659,7 +661,7 @@ _item_new(Evas_Object *obj, it->label = eina_stringshare_add(label); it->func = func; - WIDGET_ITEM_DATA_SET(EO_OBJ(it), data); + WIDGET_ITEM_DATA_SET(eo_it, data); VIEW(it) = edje_object_add(evas_object_evas_get(obj)); elm_widget_theme_object_set(obj, VIEW(it), "diskselector", "item", elm_widget_style_get(obj)); diff --git a/src/lib/elm_flipselector.c b/src/lib/elm_flipselector.c index bae9231..a9e8747 100644 --- a/src/lib/elm_flipselector.c +++ b/src/lib/elm_flipselector.c @@ -229,7 +229,7 @@ _on_item_changed(Elm_Flipselector_Data *sd) if (sd->deleting) return; if (item->func) - item->func((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(item)), WIDGET(item), eo_item); + item->func((void *)WIDGET_ITEM_DATA_GET(eo_item), WIDGET(item), eo_item); evas_object_smart_callback_call (sd->obj, SIG_SELECTED, eo_item); } @@ -321,7 +321,7 @@ _item_new(Evas_Object *obj, it->label = eina_stringshare_add_length(label, len); it->func = func; - WIDGET_ITEM_DATA_SET(EO_OBJ(it), data); + WIDGET_ITEM_DATA_SET(eo_item, data); /* TODO: no view here, but if one desires general contents in the * future... */ --