summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Juyung Seo <seojuyung2@gmail.com>2014-11-25 21:55:12 +0900
committerDaniel Juyung Seo <seojuyung2@gmail.com>2014-11-25 21:55:14 +0900
commit220356400036ec0543bf9c1d735ae486e7a2916f (patch)
tree3f8bee1dfb03bd85f2206ebec5b5a441c8226a2f
parent68e3dc632782f2d7883aba25f10416a43d0d20ee (diff)
gengrid, genlist: Optimize eo item usage.
Remove unnecessary pointer reference.
-rw-r--r--src/lib/elm_gengrid.c46
-rw-r--r--src/lib/elm_genlist.c54
2 files changed, 54 insertions, 46 deletions
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 5c7df87fc..6eff42597 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -348,12 +348,13 @@ _item_unselect(Elm_Gen_Item *it)
348{ 348{
349 Elm_Gen_Item_Type *item = GG_IT(it); 349 Elm_Gen_Item_Type *item = GG_IT(it);
350 Elm_Gengrid_Data *sd = item->wsd; 350 Elm_Gengrid_Data *sd = item->wsd;
351 Elm_Object_Item *eo_it = EO_OBJ(it);
351 352
352 if ((it->generation < sd->generation) || (!it->selected)) 353 if ((it->generation < sd->generation) || (!it->selected))
353 return; 354 return;
354 355
355 edje_object_signal_emit(VIEW(it), "elm,state,unselected", "elm"); 356 edje_object_signal_emit(VIEW(it), "elm,state,unselected", "elm");
356 evas_object_smart_callback_call(WIDGET(it), SIG_UNHIGHLIGHTED, EO_OBJ(it)); 357 evas_object_smart_callback_call(WIDGET(it), SIG_UNHIGHLIGHTED, eo_it);
357 358
358 evas_object_stack_below(VIEW(it), sd->stack); 359 evas_object_stack_below(VIEW(it), sd->stack);
359 360
@@ -361,8 +362,8 @@ _item_unselect(Elm_Gen_Item *it)
361 if (it->selected) 362 if (it->selected)
362 { 363 {
363 it->selected = EINA_FALSE; 364 it->selected = EINA_FALSE;
364 sd->selected = eina_list_remove(sd->selected, EO_OBJ(it)); 365 sd->selected = eina_list_remove(sd->selected, eo_it);
365 evas_object_smart_callback_call(WIDGET(it), SIG_UNSELECTED, EO_OBJ(it)); 366 evas_object_smart_callback_call(WIDGET(it), SIG_UNSELECTED, eo_it);
366 } 367 }
367} 368}
368 369
@@ -389,6 +390,7 @@ _item_mouse_move_cb(void *data,
389 Evas_Coord ox, oy, ow, oh, it_scrl_x, it_scrl_y; 390 Evas_Coord ox, oy, ow, oh, it_scrl_x, it_scrl_y;
390 Evas_Coord minw = 0, minh = 0, x, y, dx, dy, adx, ady; 391 Evas_Coord minw = 0, minh = 0, x, y, dx, dy, adx, ady;
391 ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd); 392 ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd);
393 Elm_Object_Item *eo_it = EO_OBJ(it);
392 394
393 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) 395 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
394 { 396 {
@@ -403,7 +405,7 @@ _item_mouse_move_cb(void *data,
403 if ((it->dragging) && (it->down)) 405 if ((it->dragging) && (it->down))
404 { 406 {
405 ELM_SAFE_FREE(it->long_timer, ecore_timer_del); 407 ELM_SAFE_FREE(it->long_timer, ecore_timer_del);
406 evas_object_smart_callback_call(WIDGET(it), SIG_DRAG, EO_OBJ(it)); 408 evas_object_smart_callback_call(WIDGET(it), SIG_DRAG, eo_it);
407 return; 409 return;
408 } 410 }
409 411
@@ -475,25 +477,25 @@ _item_mouse_move_cb(void *data,
475 { 477 {
476 if (ady > adx) 478 if (ady > adx)
477 evas_object_smart_callback_call 479 evas_object_smart_callback_call
478 (WIDGET(it), SIG_DRAG_START_UP, EO_OBJ(it)); 480 (WIDGET(it), SIG_DRAG_START_UP, eo_it);
479 else 481 else
480 { 482 {
481 if (dx < 0) 483 if (dx < 0)
482 evas_object_smart_callback_call(WIDGET(it), left_drag, EO_OBJ(it)); 484 evas_object_smart_callback_call(WIDGET(it), left_drag, eo_it);
483 } 485 }
484 } 486 }
485 else 487 else
486 { 488 {
487 if (ady > adx) 489 if (ady > adx)
488 evas_object_smart_callback_call 490 evas_object_smart_callback_call
489 (WIDGET(it), SIG_DRAG_START_DOWN, EO_OBJ(it)); 491 (WIDGET(it), SIG_DRAG_START_DOWN, eo_it);
490 else 492 else
491 { 493 {
492 if (dx < 0) 494 if (dx < 0)
493 evas_object_smart_callback_call(WIDGET(it), left_drag, EO_OBJ(it)); 495 evas_object_smart_callback_call(WIDGET(it), left_drag, eo_it);
494 else 496 else
495 evas_object_smart_callback_call 497 evas_object_smart_callback_call
496 (WIDGET(it), right_drag, EO_OBJ(it)); 498 (WIDGET(it), right_drag, eo_it);
497 } 499 }
498 } 500 }
499 } 501 }
@@ -821,6 +823,7 @@ _item_realize(Elm_Gen_Item *it)
821 char buf[1024]; 823 char buf[1024];
822 char style[1024]; 824 char style[1024];
823 ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd); 825 ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd);
826 Elm_Object_Item *eo_it = EO_OBJ(it);
824 827
825 if ((it->realized) || 828 if ((it->realized) ||
826 (it->generation < sd->generation)) 829 (it->generation < sd->generation))
@@ -868,7 +871,7 @@ _item_realize(Elm_Gen_Item *it)
868 EINA_LIST_FOREACH(it->texts, l, key) 871 EINA_LIST_FOREACH(it->texts, l, key)
869 { 872 {
870 char *s = it->itc->func.text_get 873 char *s = it->itc->func.text_get
871 ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); 874 ((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), key);
872 if (s) 875 if (s)
873 { 876 {
874 edje_object_part_text_escaped_set(VIEW(it), key, s); 877 edje_object_part_text_escaped_set(VIEW(it), key, s);
@@ -887,7 +890,7 @@ _item_realize(Elm_Gen_Item *it)
887 (edje_object_data_get(VIEW(it), "contents")); 890 (edje_object_data_get(VIEW(it), "contents"));
888 EINA_LIST_FOREACH(it->contents, l, key) 891 EINA_LIST_FOREACH(it->contents, l, key)
889 { 892 {
890 ic = it->itc->func.content_get((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key); 893 ic = it->itc->func.content_get((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), key);
891 if (ic) 894 if (ic)
892 { 895 {
893 it->content_objs = eina_list_append(it->content_objs, ic); 896 it->content_objs = eina_list_append(it->content_objs, ic);
@@ -908,7 +911,7 @@ _item_realize(Elm_Gen_Item *it)
908 EINA_LIST_FOREACH(it->states, l, key) 911 EINA_LIST_FOREACH(it->states, l, key)
909 { 912 {
910 Eina_Bool on = it->itc->func.state_get 913 Eina_Bool on = it->itc->func.state_get
911 ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), l->data); 914 ((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), l->data);
912 if (on) 915 if (on)
913 { 916 {
914 snprintf(buf, sizeof(buf), "elm,state,%s,active", key); 917 snprintf(buf, sizeof(buf), "elm,state,%s,active", key);
@@ -957,7 +960,7 @@ _item_realize(Elm_Gen_Item *it)
957 960
958 if (it->selected) 961 if (it->selected)
959 edje_object_signal_emit(VIEW(it), "elm,state,selected", "elm"); 962 edje_object_signal_emit(VIEW(it), "elm,state,selected", "elm");
960 if (eo_do(EO_OBJ(it), elm_wdg_item_disabled_get())) 963 if (eo_do(eo_it, elm_wdg_item_disabled_get()))
961 edje_object_signal_emit(VIEW(it), "elm,state,disabled", "elm"); 964 edje_object_signal_emit(VIEW(it), "elm,state,disabled", "elm");
962 } 965 }
963 edje_object_message_signal_process(VIEW(it)); 966 edje_object_message_signal_process(VIEW(it));
@@ -965,7 +968,7 @@ _item_realize(Elm_Gen_Item *it)
965 968
966 if (it->tooltip.content_cb) 969 if (it->tooltip.content_cb)
967 { 970 {
968 eo_do(EO_OBJ(it), 971 eo_do(eo_it,
969 elm_wdg_item_tooltip_content_cb_set( 972 elm_wdg_item_tooltip_content_cb_set(
970 it->tooltip.content_cb, it->tooltip.data, NULL), 973 it->tooltip.content_cb, it->tooltip.data, NULL),
971 elm_wdg_item_tooltip_style_set(it->tooltip.style), 974 elm_wdg_item_tooltip_style_set(it->tooltip.style),
@@ -973,7 +976,7 @@ _item_realize(Elm_Gen_Item *it)
973 } 976 }
974 977
975 if (it->mouse_cursor) 978 if (it->mouse_cursor)
976 eo_do(EO_OBJ(it), elm_wdg_item_cursor_set(it->mouse_cursor)); 979 eo_do(eo_it, elm_wdg_item_cursor_set(it->mouse_cursor));
977 980
978 it->realized = EINA_TRUE; 981 it->realized = EINA_TRUE;
979 it->want_unrealize = EINA_FALSE; 982 it->want_unrealize = EINA_FALSE;
@@ -3443,6 +3446,7 @@ _item_select(Elm_Gen_Item *it)
3443{ 3446{
3444 Evas_Object *obj = WIDGET(it); 3447 Evas_Object *obj = WIDGET(it);
3445 ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd); 3448 ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd);
3449 Elm_Object_Item *eo_it = EO_OBJ(it);
3446 3450
3447 if (_is_no_select(it) || 3451 if (_is_no_select(it) ||
3448 (it->generation < sd->generation) || 3452 (it->generation < sd->generation) ||
@@ -3452,7 +3456,7 @@ _item_select(Elm_Gen_Item *it)
3452 if (!it->selected) 3456 if (!it->selected)
3453 { 3457 {
3454 it->selected = EINA_TRUE; 3458 it->selected = EINA_TRUE;
3455 sd->selected = eina_list_append(sd->selected, EO_OBJ(it)); 3459 sd->selected = eina_list_append(sd->selected, eo_it);
3456 } 3460 }
3457 else if ((sd->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS) && 3461 else if ((sd->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS) &&
3458 (it->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS)) 3462 (it->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS))
@@ -3461,11 +3465,11 @@ _item_select(Elm_Gen_Item *it)
3461 evas_object_ref(obj); 3465 evas_object_ref(obj);
3462 it->walking++; 3466 it->walking++;
3463 sd->walking++; 3467 sd->walking++;
3464 if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), EO_OBJ(it)); 3468 if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), eo_it);
3465 if (it->generation == sd->generation) 3469 if (it->generation == sd->generation)
3466 { 3470 {
3467 evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, EO_OBJ(it)); 3471 evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, eo_it);
3468 elm_object_item_focus_set(EO_OBJ(it), EINA_TRUE); 3472 elm_object_item_focus_set(eo_it, EINA_TRUE);
3469 } 3473 }
3470 3474
3471 it->walking--; 3475 it->walking--;
@@ -3477,10 +3481,10 @@ _item_select(Elm_Gen_Item *it)
3477 if ((!it->walking) && (it->generation < sd->generation)) 3481 if ((!it->walking) && (it->generation < sd->generation))
3478 { 3482 {
3479 it->del_cb(it); 3483 it->del_cb(it);
3480 eo_del(EO_OBJ(it)); 3484 eo_del(eo_it);
3481 } 3485 }
3482 else 3486 else
3483 sd->last_selected_item = EO_OBJ(it); 3487 sd->last_selected_item = eo_it;
3484 } 3488 }
3485 evas_object_unref(obj); 3489 evas_object_unref(obj);
3486} 3490}
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 39a813a86..99130ae69 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -3515,6 +3515,7 @@ _item_mouse_move_cb(void *data,
3515 Evas_Coord ox, oy, ow, oh, it_scrl_y, y_pos; 3515 Evas_Coord ox, oy, ow, oh, it_scrl_y, y_pos;
3516 Evas_Coord minw = 0, minh = 0, x, y, w, h, dx, dy, adx, ady; 3516 Evas_Coord minw = 0, minh = 0, x, y, w, h, dx, dy, adx, ady;
3517 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd); 3517 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
3518 Elm_Object_Item *eo_it = EO_OBJ(it);
3518 3519
3519 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) 3520 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
3520 { 3521 {
@@ -3546,7 +3547,7 @@ _item_mouse_move_cb(void *data,
3546 sd->movements++; 3547 sd->movements++;
3547 } 3548 }
3548 ELM_SAFE_FREE(it->long_timer, ecore_timer_del); 3549 ELM_SAFE_FREE(it->long_timer, ecore_timer_del);
3549 evas_object_smart_callback_call(WIDGET(it), SIG_DRAG, EO_OBJ(it)); 3550 evas_object_smart_callback_call(WIDGET(it), SIG_DRAG, eo_it);
3550 return; 3551 return;
3551 } 3552 }
3552 if ((!it->down) || (sd->longpressed)) 3553 if ((!it->down) || (sd->longpressed))
@@ -3625,30 +3626,30 @@ _item_mouse_move_cb(void *data,
3625 { 3626 {
3626 if (ady > adx) 3627 if (ady > adx)
3627 evas_object_smart_callback_call 3628 evas_object_smart_callback_call
3628 (WIDGET(it), SIG_DRAG_START_UP, EO_OBJ(it)); 3629 (WIDGET(it), SIG_DRAG_START_UP, eo_it);
3629 else 3630 else
3630 { 3631 {
3631 if (dx < 0) 3632 if (dx < 0)
3632 evas_object_smart_callback_call 3633 evas_object_smart_callback_call
3633 (WIDGET(it), SIG_DRAG_START_LEFT, EO_OBJ(it)); 3634 (WIDGET(it), SIG_DRAG_START_LEFT, eo_it);
3634 else 3635 else
3635 evas_object_smart_callback_call 3636 evas_object_smart_callback_call
3636 (WIDGET(it), SIG_DRAG_START_RIGHT, EO_OBJ(it)); 3637 (WIDGET(it), SIG_DRAG_START_RIGHT, eo_it);
3637 } 3638 }
3638 } 3639 }
3639 else 3640 else
3640 { 3641 {
3641 if (ady > adx) 3642 if (ady > adx)
3642 evas_object_smart_callback_call 3643 evas_object_smart_callback_call
3643 (WIDGET(it), SIG_DRAG_START_DOWN, EO_OBJ(it)); 3644 (WIDGET(it), SIG_DRAG_START_DOWN, eo_it);
3644 else 3645 else
3645 { 3646 {
3646 if (dx < 0) 3647 if (dx < 0)
3647 evas_object_smart_callback_call 3648 evas_object_smart_callback_call
3648 (WIDGET(it), SIG_DRAG_START_LEFT, EO_OBJ(it)); 3649 (WIDGET(it), SIG_DRAG_START_LEFT, eo_it);
3649 else 3650 else
3650 evas_object_smart_callback_call 3651 evas_object_smart_callback_call
3651 (WIDGET(it), SIG_DRAG_START_RIGHT, EO_OBJ(it)); 3652 (WIDGET(it), SIG_DRAG_START_RIGHT, eo_it);
3652 } 3653 }
3653 } 3654 }
3654 } 3655 }
@@ -3756,6 +3757,7 @@ _multi_touch_gesture_eval(Elm_Gen_Item *it)
3756 Evas_Coord minw = 0, minh = 0; 3757 Evas_Coord minw = 0, minh = 0;
3757 Evas_Coord off_x, off_y, off_mx, off_my; 3758 Evas_Coord off_x, off_y, off_mx, off_my;
3758 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd); 3759 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
3760 Elm_Object_Item *eo_it = EO_OBJ(it);
3759 3761
3760 sd->multi_touched = EINA_FALSE; 3762 sd->multi_touched = EINA_FALSE;
3761 ELM_SAFE_FREE(sd->multi_timer, ecore_timer_del); 3763 ELM_SAFE_FREE(sd->multi_timer, ecore_timer_del);
@@ -3778,33 +3780,33 @@ _multi_touch_gesture_eval(Elm_Gen_Item *it)
3778 { 3780 {
3779 if ((sd->cur_x > sd->prev_x) && (sd->cur_mx > sd->prev_mx)) 3781 if ((sd->cur_x > sd->prev_x) && (sd->cur_mx > sd->prev_mx))
3780 evas_object_smart_callback_call 3782 evas_object_smart_callback_call
3781 (WIDGET(it), SIG_MULTI_SWIPE_RIGHT, EO_OBJ(it)); 3783 (WIDGET(it), SIG_MULTI_SWIPE_RIGHT, eo_it);
3782 else if ((sd->cur_x < sd->prev_x) && (sd->cur_mx < sd->prev_mx)) 3784 else if ((sd->cur_x < sd->prev_x) && (sd->cur_mx < sd->prev_mx))
3783 evas_object_smart_callback_call 3785 evas_object_smart_callback_call
3784 (WIDGET(it), SIG_MULTI_SWIPE_LEFT, EO_OBJ(it)); 3786 (WIDGET(it), SIG_MULTI_SWIPE_LEFT, eo_it);
3785 else if (abs(sd->cur_x - sd->cur_mx) > 3787 else if (abs(sd->cur_x - sd->cur_mx) >
3786 abs(sd->prev_x - sd->prev_mx)) 3788 abs(sd->prev_x - sd->prev_mx))
3787 evas_object_smart_callback_call 3789 evas_object_smart_callback_call
3788 (WIDGET(it), SIG_MULTI_PINCH_OUT, EO_OBJ(it)); 3790 (WIDGET(it), SIG_MULTI_PINCH_OUT, eo_it);
3789 else 3791 else
3790 evas_object_smart_callback_call 3792 evas_object_smart_callback_call
3791 (WIDGET(it), SIG_MULTI_PINCH_IN, EO_OBJ(it)); 3793 (WIDGET(it), SIG_MULTI_PINCH_IN, eo_it);
3792 } 3794 }
3793 else 3795 else
3794 { 3796 {
3795 if ((sd->cur_y > sd->prev_y) && (sd->cur_my > sd->prev_my)) 3797 if ((sd->cur_y > sd->prev_y) && (sd->cur_my > sd->prev_my))
3796 evas_object_smart_callback_call 3798 evas_object_smart_callback_call
3797 (WIDGET(it), SIG_MULTI_SWIPE_DOWN, EO_OBJ(it)); 3799 (WIDGET(it), SIG_MULTI_SWIPE_DOWN, eo_it);
3798 else if ((sd->cur_y < sd->prev_y) && (sd->cur_my < sd->prev_my)) 3800 else if ((sd->cur_y < sd->prev_y) && (sd->cur_my < sd->prev_my))
3799 evas_object_smart_callback_call 3801 evas_object_smart_callback_call
3800 (WIDGET(it), SIG_MULTI_SWIPE_UP, EO_OBJ(it)); 3802 (WIDGET(it), SIG_MULTI_SWIPE_UP, eo_it);
3801 else if (abs(sd->cur_y - sd->cur_my) > 3803 else if (abs(sd->cur_y - sd->cur_my) >
3802 abs(sd->prev_y - sd->prev_my)) 3804 abs(sd->prev_y - sd->prev_my))
3803 evas_object_smart_callback_call 3805 evas_object_smart_callback_call
3804 (WIDGET(it), SIG_MULTI_PINCH_OUT, EO_OBJ(it)); 3806 (WIDGET(it), SIG_MULTI_PINCH_OUT, eo_it);
3805 else 3807 else
3806 evas_object_smart_callback_call 3808 evas_object_smart_callback_call
3807 (WIDGET(it), SIG_MULTI_PINCH_IN, EO_OBJ(it)); 3809 (WIDGET(it), SIG_MULTI_PINCH_IN, eo_it);
3808 } 3810 }
3809 } 3811 }
3810 3812
@@ -3891,6 +3893,7 @@ _item_mouse_down_cb(void *data,
3891 Elm_Gen_Item *it = data; 3893 Elm_Gen_Item *it = data;
3892 Evas_Coord x, y; 3894 Evas_Coord x, y;
3893 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd); 3895 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
3896 Elm_Object_Item *eo_it = EO_OBJ(it);
3894 3897
3895 if (ev->button != 1) return; 3898 if (ev->button != 1) return;
3896 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) 3899 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
@@ -3930,7 +3933,7 @@ _item_mouse_down_cb(void *data,
3930 sd->movements = 0; 3933 sd->movements = 0;
3931 3934
3932 if (_is_no_select(it) || 3935 if (_is_no_select(it) ||
3933 eo_do((Eo *)EO_OBJ(it), elm_wdg_item_disabled_get())) 3936 eo_do((Eo *)eo_it, elm_wdg_item_disabled_get()))
3934 return; 3937 return;
3935 3938
3936 // and finally call the user callbacks. 3939 // and finally call the user callbacks.
@@ -3939,10 +3942,10 @@ _item_mouse_down_cb(void *data,
3939 it->highlight_cb(it); 3942 it->highlight_cb(it);
3940 if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) 3943 if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
3941 { 3944 {
3942 evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED_DOUBLE, EO_OBJ(it)); 3945 evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED_DOUBLE, eo_it);
3943 evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, EO_OBJ(it)); 3946 evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, eo_it);
3944 } 3947 }
3945 evas_object_smart_callback_call(WIDGET(it), SIG_PRESSED, EO_OBJ(it)); 3948 evas_object_smart_callback_call(WIDGET(it), SIG_PRESSED, eo_it);
3946} 3949}
3947 3950
3948static Item_Block * 3951static Item_Block *
@@ -5561,6 +5564,7 @@ _item_select(Elm_Gen_Item *it)
5561{ 5564{
5562 Evas_Object *obj = WIDGET(it); 5565 Evas_Object *obj = WIDGET(it);
5563 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd); 5566 ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
5567 Elm_Object_Item *eo_it = EO_OBJ(it);
5564 5568
5565 if (_is_no_select(it) || 5569 if (_is_no_select(it) ||
5566 (it->generation < sd->generation) || 5570 (it->generation < sd->generation) ||
@@ -5571,7 +5575,7 @@ _item_select(Elm_Gen_Item *it)
5571 { 5575 {
5572 it->selected = EINA_TRUE; 5576 it->selected = EINA_TRUE;
5573 sd->selected = 5577 sd->selected =
5574 eina_list_append(sd->selected, EO_OBJ(it)); 5578 eina_list_append(sd->selected, eo_it);
5575 } 5579 }
5576 else if ((sd->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS) && 5580 else if ((sd->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS) &&
5577 (it->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS)) 5581 (it->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS))
@@ -5580,11 +5584,11 @@ _item_select(Elm_Gen_Item *it)
5580 evas_object_ref(obj); 5584 evas_object_ref(obj);
5581 it->walking++; 5585 it->walking++;
5582 sd->walking++; 5586 sd->walking++;
5583 if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), EO_OBJ(it)); 5587 if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), eo_it);
5584 if (it->generation == sd->generation) 5588 if (it->generation == sd->generation)
5585 { 5589 {
5586 evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, EO_OBJ(it)); 5590 evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, eo_it);
5587 elm_object_item_focus_set(EO_OBJ(it), EINA_TRUE); 5591 elm_object_item_focus_set(eo_it, EINA_TRUE);
5588 _elm_genlist_item_content_focus_set(it, ELM_FOCUS_PREVIOUS); 5592 _elm_genlist_item_content_focus_set(it, ELM_FOCUS_PREVIOUS);
5589 } 5593 }
5590 5594
@@ -5612,10 +5616,10 @@ _item_select(Elm_Gen_Item *it)
5612 if ((!it->walking) && (it->generation < sd->generation)) 5616 if ((!it->walking) && (it->generation < sd->generation))
5613 { 5617 {
5614 it->del_cb(it); 5618 it->del_cb(it);
5615 eo_del(EO_OBJ(it)); 5619 eo_del(eo_it);
5616 } 5620 }
5617 else 5621 else
5618 sd->last_selected_item = EO_OBJ(it); 5622 sd->last_selected_item = eo_it;
5619 } 5623 }
5620 5624
5621 evas_object_unref(obj); 5625 evas_object_unref(obj);