diff --git a/src/lib/evas/canvas/evas_image_legacy.c b/src/lib/evas/canvas/evas_image_legacy.c index d1dcf933ee..4901c3aeb5 100644 --- a/src/lib/evas/canvas/evas_image_legacy.c +++ b/src/lib/evas/canvas/evas_image_legacy.c @@ -673,6 +673,7 @@ evas_object_image_data_set(Eo *eo_obj, void *data) if (o->engine_data) { ENFN->image_free(ENC, o->engine_data); + o->engine_data = NULL; o->changed = EINA_TRUE; evas_object_change(eo_obj, obj); } @@ -687,8 +688,6 @@ evas_object_image_data_set(Eo *eo_obj, void *data) state_write->image.stride = 0; } EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); - - o->engine_data = NULL; } /* FIXME - in engine call above if (o->engine_data) diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index 8d714035a6..cad6291286 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -3514,6 +3514,9 @@ evas_object_image_is_inside(Evas_Object *eo_obj, o->pixels->func.get_pixels(o->pixels->func.get_pixels_data, eo_obj); if (ENFN->gl_get_pixels_post) ENFN->gl_get_pixels_post(ENC, output); + pixels = _evas_image_pixels_get(eo_obj, obj, ENC, output, NULL, NULL, 0, 0, + &imagew, &imageh, &uvw, &uvh, EINA_TRUE, EINA_FALSE); + if (!pixels) return is_inside; } }