forked from enlightenment/efl
ecore/audio: free vio on in/out object destruction
ensure we don't leak these since that means we also leak the user's free data and callback Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11527
This commit is contained in:
parent
e8eb67a557
commit
c697965a8c
|
@ -187,9 +187,15 @@ _ecore_audio_in_efl_object_constructor(Eo *eo_obj, Ecore_Audio_Input *obj)
|
|||
EOLIAN static void
|
||||
_ecore_audio_in_efl_object_destructor(Eo *eo_obj, Ecore_Audio_Input *obj)
|
||||
{
|
||||
Ecore_Audio_Object *ea_obj = efl_data_scope_get(eo_obj, ECORE_AUDIO_CLASS);
|
||||
if(obj->output)
|
||||
ecore_audio_obj_out_input_detach(obj->output, eo_obj);
|
||||
{
|
||||
if (!ecore_audio_obj_out_input_detach(obj->output, eo_obj))
|
||||
ERR("Failed to detach output %p!", obj->output);
|
||||
}
|
||||
|
||||
if (ea_obj->vio)
|
||||
_free_vio(ea_obj);
|
||||
efl_destructor(efl_super(eo_obj, MY_CLASS));
|
||||
}
|
||||
|
||||
|
|
|
@ -147,11 +147,13 @@ _ecore_audio_out_efl_object_destructor(Eo *eo_obj, Ecore_Audio_Output *obj)
|
|||
{
|
||||
Eina_List *cur, *tmp;
|
||||
Eo *in;
|
||||
Ecore_Audio_Object *ea_obj = efl_data_scope_get(eo_obj, ECORE_AUDIO_CLASS);
|
||||
|
||||
EINA_LIST_FOREACH_SAFE(obj->inputs, cur, tmp, in) {
|
||||
ecore_audio_obj_out_input_detach(eo_obj, in);
|
||||
}
|
||||
|
||||
if (ea_obj->vio)
|
||||
_free_vio(ea_obj);
|
||||
efl_destructor(efl_super(eo_obj, MY_CLASS));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue