bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=139efaaba325edf738f6cdfb678acac774f100a8
commit 139efaaba325edf738f6cdfb678acac774f100a8 Author: Marcel Hollerbach <mar...@osg.samsung.com> Date: Wed Apr 25 14:01:48 2018 +0200 elm_interface_scrollable: rework filtering A item might be in the middle of the viewport and still miss relations. --- src/lib/elementary/elm_interface_scrollable.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c index 7f595a6863..bc4e76b3d4 100644 --- a/src/lib/elementary/elm_interface_scrollable.c +++ b/src/lib/elementary/elm_interface_scrollable.c @@ -4824,10 +4824,21 @@ static Eina_Bool _filter_cb(const void *iterator EINA_UNUSED, void *data, void *fdata) { Eina_Rect geom; + int min_x, max_x, min_y, max_y; geom = efl_ui_focus_object_focus_geometry_get(data); - return eina_rectangles_intersect(&geom.rect, fdata); + min_x = geom.rect.x; + min_y = geom.rect.y; + max_x = eina_rectangle_max_x(&geom.rect); + max_y = eina_rectangle_max_y(&geom.rect); + + Eina_Bool inside = eina_rectangle_coords_inside(fdata, min_x, min_y) || + eina_rectangle_coords_inside(fdata, min_x, max_y) || + eina_rectangle_coords_inside(fdata, max_x, min_y) || + eina_rectangle_coords_inside(fdata, max_x, max_y); + + return inside; } EOLIAN static Eina_Iterator* --