elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 23 Jun 2017 21:43:44 +0000 (17:43 -0400)
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
src/lib/elementary/elm_genlist.c
src/lib/elementary/elm_list.c

index c247084..edcc031 100644 (file)
@@ -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);
index 02e5e9e..712d6f0 100644 (file)
@@ -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);
index 3adae9a..cca92bd 100644 (file)
@@ -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)