obj = WIDGET(it);
ELM_LIST_DATA_GET(obj, sd);
- if ((!it->highlighted) || (it->base.disabled) ||
- (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE)) return;
+// if ((!it->highlighted) || (it->base.disabled) ||
+// (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE)) return;
+ if (!it->highlighted) return;
evas_object_ref(obj);
_elm_list_walk(sd);
obj = WIDGET(it);
ELM_LIST_DATA_GET(obj, sd);
- if (it->base.disabled || (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE))
- return;
+// if (it->base.disabled || (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE))
+// return;
evas_object_ref(obj);
_elm_list_walk(sd);
{
it->selected = EINA_FALSE;
sd->selected = eina_list_remove(sd->selected, it);
- evas_object_smart_callback_call(WIDGET(it), SIG_UNSELECTED, it);
+ if (!(it->base.disabled ||
+ (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE)))
+ evas_object_smart_callback_call(WIDGET(it), SIG_UNSELECTED, it);
}
_elm_list_unwalk(obj, sd);
{
while (sd->selected)
{
- _item_unhighlight(sd->selected->data);
- _item_unselect(sd->selected->data);
+ Elm_List_Item *it2 = sd->selected->data;
+ sd->selected = eina_list_remove_list
+ (sd->selected, sd->selected);
+ _item_unhighlight(it2);
+ _item_unselect(it2);
}
_item_highlight(it);
_item_select(it);
{
Elm_List_Item *item = (Elm_List_Item *)it;
+ _item_unhighlight(item);
+ _item_unselect(item);
if (item->base.disabled)
edje_object_signal_emit(VIEW(item), "elm,state,disabled", "elm");
else