davemds pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=359bec5756d38a14158e6b2c64f86aaba2cfcd28

commit 359bec5756d38a14158e6b2c64f86aaba2cfcd28
Author: Dave Andreoli <d...@gurumeditation.it>
Date:   Sun Jan 24 16:11:13 2016 +0100

    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
---
 src/lib/elm_gengrid.c | 2 +-
 src/lib/elm_genlist.c | 2 +-
 src/lib/elm_widget.c  | 6 ++++--
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 02b1294..81b1ce5 100644
--- a/src/lib/elm_gengrid.c
+++ b/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/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index de720cf..572e734 100644
--- a/src/lib/elm_genlist.c
+++ b/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/src/lib/elm_widget.c b/src/lib/elm_widget.c
index b779994..efcbc88 100644
--- a/src/lib/elm_widget.c
+++ b/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);
 

-- 


Reply via email to