From 990a9d485dd5097f1a96b1e6c3b16177a542791b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 23 Jun 2017 17:43:58 -0400 Subject: [PATCH] elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them this seems wrong since it's using smart object geometry to determine event-based positioning within an edje object. considering it from a user pov, it definitely is wrong because why would you deselect items based on mouse movement? ref D2622 ref da81eff8979bef066317984d606dd66bdba49717 @fix --- src/lib/elementary/elm_gengrid.c | 2 +- src/lib/elementary/elm_genlist.c | 2 +- src/lib/elementary/elm_list.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c index c247084..edcc031 100644 --- a/src/lib/elementary/elm_gengrid.c +++ b/src/lib/elementary/elm_gengrid.c @@ -743,7 +743,7 @@ _item_mouse_move_cb(void *data, } } } - else if (ELM_RECTS_POINT_OUT(x, y, w, h, ev->cur.canvas.x, ev->cur.canvas.y) && + else if (it->down && ELM_RECTS_POINT_OUT(x, y, w, h, ev->cur.canvas.x, ev->cur.canvas.y) && !sd->reorder_it ) { ELM_SAFE_FREE(it->long_timer, ecore_timer_del); diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index 02e5e9e..712d6f0 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -3871,7 +3871,7 @@ _item_mouse_move_cb(void *data, _item_unselect(it); } } - else if (ELM_RECTS_POINT_OUT(x, y, w, h, ev->cur.canvas.x, ev->cur.canvas.y) && + else if (it->down && ELM_RECTS_POINT_OUT(x, y, w, h, ev->cur.canvas.x, ev->cur.canvas.y) && !sd->reorder_it) { ELM_SAFE_FREE(it->long_timer, ecore_timer_del); diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c index 3adae9a..cca92bd 100644 --- a/src/lib/elementary/elm_list.c +++ b/src/lib/elementary/elm_list.c @@ -1622,7 +1622,7 @@ _mouse_move_cb(void *data, } } } - else if (ELM_RECTS_POINT_OUT(x, y, w, h, ev->cur.canvas.x, ev->cur.canvas.y)) + else if (sd->mouse_down && ELM_RECTS_POINT_OUT(x, y, w, h, ev->cur.canvas.x, ev->cur.canvas.y)) { ELM_SAFE_FREE(it->long_timer, ecore_timer_del); if (!sd->was_selected) -- 2.7.4