evas vg: fix memory leak at gradient.

Summary:
free memory properly when object is deleted.

@fix

Reviewers: #committers, devilhorns

Reviewed By: #committers, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7165
This commit is contained in:
Hermet Park 2018-10-17 14:08:32 +09:00
parent 97e71b9dc4
commit edab8f44a4
2 changed files with 10 additions and 0 deletions

View File

@ -7,5 +7,6 @@ abstract Efl.Canvas.Vg.Gradient (Efl.Canvas.Vg.Node, Efl.Gfx.Gradient)
Efl.Gfx.Gradient.spread { get; set; }
Efl.Gfx.Path.interpolate;
Efl.Duplicate.duplicate;
Efl.Object.destructor;
}
}

View File

@ -96,6 +96,15 @@ _efl_canvas_vg_gradient_efl_gfx_path_interpolate(Eo *obj,
return EINA_TRUE;
}
static void
_efl_canvas_vg_gradient_efl_object_destructor(Eo *obj, Efl_Canvas_Vg_Gradient_Data *pd)
{
if (pd->colors) free(pd->colors);
efl_destructor(efl_super(obj, MY_CLASS));
}
EOLIAN static Efl_VG *
_efl_canvas_vg_gradient_efl_duplicate_duplicate(const Eo *obj, Efl_Canvas_Vg_Gradient_Data *pd)