diff --git a/src/lib/elementary/efl_access_object.h b/src/lib/elementary/efl_access_object.h --- a/src/lib/elementary/efl_access_object.h +++ b/src/lib/elementary/efl_access_object.h @@ -30,6 +30,12 @@ */ EAPI void efl_access_attributes_list_free(Eina_List *list); +/** + * Free the Efl_Access_Attribute type + */ +EAPI void +efl_access_attribute_free(Efl_Access_Attribute *attr); + #ifdef EFL_EO_API_SUPPORT /** diff --git a/src/lib/elementary/efl_access_object.c b/src/lib/elementary/efl_access_object.c --- a/src/lib/elementary/efl_access_object.c +++ b/src/lib/elementary/efl_access_object.c @@ -383,14 +383,20 @@ return eina_list_iterator_new(pd->relations); } +EAPI void +efl_access_attribute_free(Efl_Access_Attribute *attr) +{ + eina_stringshare_del(attr->key); + eina_stringshare_del(attr->value); + free(attr); +} + EAPI void efl_access_attributes_list_free(Eina_List *list) { Efl_Access_Attribute *attr; EINA_LIST_FREE(list, attr) { - eina_stringshare_del(attr->key); - eina_stringshare_del(attr->value); - free(attr); + efl_access_attribute_free(attr); } } @@ -443,7 +449,7 @@ return ret; } -EOLIAN void +EOLIAN void _efl_access_object_event_handler_del(Eo *class EINA_UNUSED, void *pd EINA_UNUSED, Efl_Access_Event_Handler *handler) { Eina_List *l, *l2; diff --git a/src/lib/elementary/efl_access_object.eo b/src/lib/elementary/efl_access_object.eo --- a/src/lib/elementary/efl_access_object.eo +++ b/src/lib/elementary/efl_access_object.eo @@ -225,7 +225,7 @@ child: Efl.Object; [[Child object]] } -struct Efl.Access.Attribute +struct @free(efl_access_attribute_free) Efl.Access.Attribute { [[Accessibility Attribute]] key: string; [[Attribute key]] diff --git a/src/lib/elementary/efl_access_text.eo b/src/lib/elementary/efl_access_text.eo --- a/src/lib/elementary/efl_access_text.eo +++ b/src/lib/elementary/efl_access_text.eo @@ -20,7 +20,7 @@ both [[Both clip types]] } -struct Efl.Access.Text_Attribute +struct @free(elm_atspi_text_text_attribute_free) Efl.Access.Text_Attribute { [[Text attribute]] name: string; [[Text attribute name]]