diff --git a/legacy/evas/src/lib/canvas/evas_events.c b/legacy/evas/src/lib/canvas/evas_events.c index a72f3559a2..be5fea76af 100644 --- a/legacy/evas/src/lib/canvas/evas_events.c +++ b/legacy/evas/src/lib/canvas/evas_events.c @@ -95,18 +95,18 @@ _evas_event_object_list_in_get(Evas *e, Eina_List *in, if (((obj->cur.map) && (obj->cur.map->count == 4) && (obj->cur.usemap))) { inside = evas_object_is_in_output_rect(obj, x, y, 1, 1); - if (inside) + if ((inside) && (!evas_map_coords_get(obj->cur.map, x, y, + &(obj->cur.map->mx), + &(obj->cur.map->my), 0))) { - if (!evas_map_coords_get(obj->cur.map, x, y, - &(obj->cur.map->mx), - &(obj->cur.map->my), 0)) - inside = 0; + inside = 0; } - else - inside = 0; } else - inside = evas_object_is_in_output_rect(obj, x, y, 1, 1); + { + inside = evas_object_is_in_output_rect(obj, x, y, 1, 1); + } + if (inside && ((!obj->precise_is_inside) || (evas_object_is_inside(obj, x, y)))) {