diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index cad6291286..d8cfc60425 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -1142,6 +1142,10 @@ _efl_canvas_image_internal_efl_gfx_buffer_alpha_set(Eo *eo_obj, Evas_Image_Data { Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); + has_alpha = !!has_alpha; + if (has_alpha == o->cur->has_alpha) + return; + evas_object_async_block(obj); if ((o->preload & EVAS_IMAGE_PRELOADING) && (o->engine_data)) { @@ -1149,10 +1153,6 @@ _efl_canvas_image_internal_efl_gfx_buffer_alpha_set(Eo *eo_obj, Evas_Image_Data ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj, EINA_TRUE); } - has_alpha = !!has_alpha; - if (has_alpha == o->cur->has_alpha) - return; - EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write) { state_write->has_alpha = has_alpha;