From 9b74eccb6b95181ef3316be14f6b0df88ede33f4 Mon Sep 17 00:00:00 2001 From: Prince Kr Dubey Date: Mon, 25 Oct 2010 11:59:42 +0530 Subject: [PATCH] [SegmentControl] When selected segment deleted then selection shifted to other segment. --- src/lib/elm_segment_control.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/elm_segment_control.c b/src/lib/elm_segment_control.c index ab6ccaa..bae6067 100644 --- a/src/lib/elm_segment_control.c +++ b/src/lib/elm_segment_control.c @@ -381,7 +381,11 @@ _update_list(Evas_Object *obj) else edje_object_signal_emit(it->base, "elm,state,icon,hidden", "elm"); } - edje_object_message_signal_process(it->base); + if(it->label_wd) + { + edje_object_signal_emit(it->base, "elm,state,label,visible", "elm"); + elm_label_text_color_set(it->label_wd, 0x00,0x00, 0x00, 0xff); + } return; } @@ -427,8 +431,6 @@ _update_list(Evas_Object *obj) if(it->sel) _signal_segment_on((void*)it); - edje_object_message_signal_process(it->base); - i++; } @@ -1058,7 +1060,8 @@ elm_segment_control_item_selected_set( Elm_Segment_Item *item, Eina_Bool select) if(select) { - if(item->segment_id == wd->cur_seg_id) return; + if(item->segment_id == wd->cur_seg_id && wd->cur_seg_id) return; + item->sel = EINA_TRUE; } else if(item->segment_id == wd->cur_seg_id) -- 2.7.4