o = eo_data_scope_get(obj, MY_CLASS);
- eina_cow_free(evas_object_image_load_opts_cow, o->load_opts);
- o->load_opts = &default_load_opts;
- eina_cow_free(evas_object_image_pixels_cow, o->pixels);
- o->pixels = &default_pixels;
- eina_cow_free(evas_object_image_state_cow, o->cur);
- o->cur = &default_state;
- eina_cow_free(evas_object_image_state_cow, o->prev);
- o->prev = &default_state;
+ // eina_cow_free reset the pointer to the default read only state
+ eina_cow_free(evas_object_image_load_opts_cow, (const Eina_Cow_Data**) &o->load_opts);
+ eina_cow_free(evas_object_image_pixels_cow, (const Eina_Cow_Data**) &o->pixels);
+ eina_cow_free(evas_object_image_state_cow, (const Eina_Cow_Data**) &o->cur);
+ eina_cow_free(evas_object_image_state_cow, (const Eina_Cow_Data**) &o->prev);
}
static void
{
EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints);
}
- eina_cow_free(evas_object_proxy_cow, obj->proxy);
- eina_cow_free(evas_object_map_cow, obj->map);
- eina_cow_free(evas_object_state_cow, obj->cur);
- eina_cow_free(evas_object_state_cow, obj->prev);
+ eina_cow_free(evas_object_proxy_cow, (const Eina_Cow_Data**) &obj->proxy);
+ eina_cow_free(evas_object_map_cow, (const Eina_Cow_Data**) &obj->map);
+ eina_cow_free(evas_object_state_cow, (const Eina_Cow_Data**) &obj->cur);
+ eina_cow_free(evas_object_state_cow, (const Eina_Cow_Data**) &obj->prev);
eo_data_unref(eo_obj, obj->private_data);
obj->private_data = NULL;
eo_manual_free(eo_obj);