summaryrefslogtreecommitdiff
path: root/src
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 /src
parent359bec5756d38a14158e6b2c64f86aaba2cfcd28 (diff)
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.
Diffstat (limited to 'src')
-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,
4881 } 4881 }
4882 } 4882 }
4883 4883
4884 if (_is_no_select(it) || 4884 if ((ev->flags != EVAS_BUTTON_NONE) ||
4885 (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) ||
4886 !it->base->still_in ||
4887 _is_no_select(it) ||
4885 (eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get()))) 4888 (eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get())))
4886 return; 4889 return;
4887 4890
4888 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD || !it->base->still_in) return;
4889
4890 evas_object_ref(sd->obj); 4891 evas_object_ref(sd->obj);
4891 4892
4892 if (sd->multi && 4893 if (sd->multi &&
@@ -4928,7 +4929,7 @@ _item_mouse_up_cb(void *data,
4928 if (_item_select(it)) goto deleted; 4929 if (_item_select(it)) goto deleted;
4929 } 4930 }
4930 4931
4931 if ((ev->flags == EVAS_BUTTON_NONE) && (sd->focused_item != EO_OBJ(it))) 4932 if (sd->focused_item != EO_OBJ(it))
4932 elm_object_item_focus_set(EO_OBJ(it), EINA_TRUE); 4933 elm_object_item_focus_set(EO_OBJ(it), EINA_TRUE);
4933 4934
4934deleted: 4935deleted: