From 913c9f3c6c25d47bc6ba3ea8a161b80b0ac8ded5 Mon Sep 17 00:00:00 2001 From: Dave Andreoli Date: Sun, 24 Jan 2016 16:11:13 +0100 Subject: [PATCH] Genlist/grid: do not set again the focus on double/triple click Focus is already setted on first mouse-up, no need to set again in double and triple click up events @Fix the issue reported in previous commits --- legacy/elementary/src/lib/elm_gengrid.c | 2 +- legacy/elementary/src/lib/elm_genlist.c | 2 +- legacy/elementary/src/lib/elm_widget.c | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index 02b1294e35..81b1ce5031 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -1099,7 +1099,7 @@ _item_mouse_up_cb(void *data, return; } - if (sd->focused_item != eo_it) + if ((ev->flags == EVAS_BUTTON_NONE) && (sd->focused_item != eo_it)) elm_object_item_focus_set(eo_it, EINA_TRUE); if (sd->multi && diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index de720cf1b3..572e734c54 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -4928,7 +4928,7 @@ _item_mouse_up_cb(void *data, if (_item_select(it)) goto deleted; } - if (sd->focused_item != EO_OBJ(it)) + if ((ev->flags == EVAS_BUTTON_NONE) && (sd->focused_item != EO_OBJ(it))) elm_object_item_focus_set(EO_OBJ(it), EINA_TRUE); deleted: diff --git a/legacy/elementary/src/lib/elm_widget.c b/legacy/elementary/src/lib/elm_widget.c index b779994dd1..efcbc88a75 100644 --- a/legacy/elementary/src/lib/elm_widget.c +++ b/legacy/elementary/src/lib/elm_widget.c @@ -331,10 +331,12 @@ static void _obj_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, - void *event_info EINA_UNUSED) + void *event_info) { ELM_WIDGET_DATA_GET(data, sd); - if (sd->still_in && + Evas_Event_Mouse_Up *ev = event_info; + + if (sd->still_in && (ev->flags == EVAS_BUTTON_NONE) && (sd->focus_move_policy == ELM_FOCUS_MOVE_POLICY_CLICK)) elm_widget_focus_mouse_up_handle(obj);