From 0c761559429494cfd0262a041d548a886ffe6b46 Mon Sep 17 00:00:00 2001 From: Dave Andreoli Date: Sun, 24 Jan 2016 16:44:57 +0100 Subject: [PATCH] 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. --- legacy/elementary/src/lib/elm_genlist.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 572e734c54..2f57dead11 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -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: