summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Andreoli <dave@gurumeditation.it>2016-01-24 16:44:57 +0100
committerDave Andreoli <dave@gurumeditation.it>2016-01-24 16:44:57 +0100
commitd92869633ffeca83acd3f3389368bd60d1e43854 (patch)
tree4a9e693712966f9e668cd923f48979b291919169
parent359bec5756d38a14158e6b2c64f86aaba2cfcd28 (diff)
downloadelementary-d92869633ffeca83acd3f3389368bd60d1e43854.tar.gz
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.
-rw-r--r--src/lib/elm_genlist.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 572e734c5..2f57dead1 100644
--- a/src/lib/elm_genlist.c
+++ b/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: