Genlist: do not select the item two times in case of a double click.

In the case of a genlist set as ELM_OBJECT_SELECT_MODE_ALWAYS the "selected" cb was called 2 times. This @fix that by skipping the selection code in case the click is not the first one (EVAS_BUTTON_NONE).

Also merge the conditions of two consecutive "if" in a single statement.
This commit is contained in:
Davide Andreoli 2016-01-24 16:44:57 +01:00
parent 913c9f3c6c
commit 0c76155942
1 changed files with 5 additions and 4 deletions

View File

@ -4881,12 +4881,13 @@ _item_mouse_up_cb(void *data,
}
}
if (_is_no_select(it) ||
if ((ev->flags != EVAS_BUTTON_NONE) ||
(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) ||
!it->base->still_in ||
_is_no_select(it) ||
(eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get())))
return;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD || !it->base->still_in) return;
evas_object_ref(sd->obj);
if (sd->multi &&
@ -4928,7 +4929,7 @@ _item_mouse_up_cb(void *data,
if (_item_select(it)) goto deleted;
}
if ((ev->flags == EVAS_BUTTON_NONE) && (sd->focused_item != EO_OBJ(it)))
if (sd->focused_item != EO_OBJ(it))
elm_object_item_focus_set(EO_OBJ(it), EINA_TRUE);
deleted: