// shouldn't that be moved to the software base object
if (!pd->surface)
- {
- Ector_Renderer_Generic_Base_Data *base;
-
- base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS);
- pd->surface = eo_data_xref(base->surface, ECTOR_SOFTWARE_SURFACE_CLASS, obj);
- }
+ pd->surface = eo_data_xref(pd->base->surface, ECTOR_SOFTWARE_SURFACE_CLASS, obj);
return EINA_TRUE;
}
static void
_ector_renderer_software_shape_eo_base_destructor(Eo *obj, Ector_Renderer_Software_Shape_Data *pd)
{
- Ector_Renderer_Generic_Base_Data *base;
-
//FIXME, As base class destructor can't call destructor of mixin class.
// call explicit API to free shape data.
eo_do(obj, efl_gfx_shape_reset());
if (pd->shape_data) ector_software_rasterizer_destroy_rle_data(pd->shape_data);
if (pd->outline_data) ector_software_rasterizer_destroy_rle_data(pd->outline_data);
- base = eo_data_scope_get(obj, ECTOR_RENDERER_GENERIC_BASE_CLASS);
- eo_data_xunref(base->surface, pd->surface, obj);
-
+ eo_data_xunref(pd->base->surface, pd->surface, obj);
eo_data_xunref(obj, pd->shape, obj);
eo_data_xunref(obj, pd->base, obj);
eo_do_super(obj, ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, eo_destructor());