From: Mike Blumenkrantz Date: Fri, 23 Jun 2017 21:43:58 +0000 (-0400) Subject: elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them X-Git-Tag: upstream/1.20.0~437 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=990a9d485dd5097f1a96b1e6c3b16177a542791b;p=platform%2Fupstream%2Fefl.git 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 --- 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)