diff options
author | Lukasz Stanislawski <lukasz.stanislawski@gmail.com> | 2019-01-24 06:55:39 +0100 |
---|---|---|
committer | Lukasz Stanislawski <lukasz.stanislawski@gmail.com> | 2019-01-24 06:55:39 +0100 |
commit | 579c564574b3434bf7596035db92c8f9d08175ab (patch) | |
tree | 1680196028f3adce24d46850aa193fb50e5f09e9 | |
parent | 289989926c9b35ceba8169fe25b82a5daae630a7 (diff) | |
download | efl-579c564574b3434bf7596035db92c8f9d08175ab.tar.gz |
efl_access: remove Efl.Object.invalidate implementation
-rw-r--r-- | src/lib/elementary/efl_access_object.c | 37 | ||||
-rw-r--r-- | src/lib/elementary/efl_access_object.eo | 1 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_widget.c | 2 |
3 files changed, 12 insertions, 28 deletions
diff --git a/src/lib/elementary/efl_access_object.c b/src/lib/elementary/efl_access_object.c index 642c10a464..c011e62cfc 100644 --- a/src/lib/elementary/efl_access_object.c +++ b/src/lib/elementary/efl_access_object.c @@ -417,23 +417,6 @@ _on_rel_obj_del(void *data, const Efl_Event *event) } } -static void -efl_access_relation_set_free(Efl_Access_Object_Data *sd) -{ - Efl_Access_Relation *rel; - Eo *obj; - - EINA_LIST_FREE(sd->relations, rel) - { - Eina_List *l; - - EINA_LIST_FOREACH(rel->objects, l, obj) - efl_event_callback_del(obj, EFL_EVENT_DEL, _on_rel_obj_del, sd); - eina_list_free(rel->objects); - free(rel); - } -} - EOLIAN static Eina_Bool _efl_access_object_relationship_append(Eo *obj EINA_UNUSED, Efl_Access_Object_Data *sd, Efl_Access_Relation_Type type, const Efl_Access_Object *relation) { @@ -506,21 +489,25 @@ _efl_access_object_relationship_remove(Eo *obj EINA_UNUSED, Efl_Access_Object_Da EOLIAN static void _efl_access_object_relationships_clear(Eo *obj EINA_UNUSED, Efl_Access_Object_Data *sd) { - efl_access_relation_set_free(sd); - sd->relations = NULL; -} + Efl_Access_Relation *rel; -EOLIAN void -_efl_access_object_efl_object_invalidate(Eo *obj, Efl_Access_Object_Data *pd) -{ - efl_access_relation_set_free(pd); + EINA_LIST_FREE(sd->relations, rel) + { + Eina_List *l; - efl_invalidate(efl_super(obj, EFL_ACCESS_OBJECT_MIXIN)); + EINA_LIST_FOREACH(rel->objects, l, obj) + efl_event_callback_del(obj, EFL_EVENT_DEL, _on_rel_obj_del, sd); + eina_list_free(rel->objects); + free(rel); + } } EOLIAN void _efl_access_object_efl_object_destructor(Eo *obj, Efl_Access_Object_Data *pd) { + efl_access_object_attributes_clear(obj); + efl_access_object_relationships_clear(obj); + eina_stringshare_del(pd->name); eina_stringshare_del(pd->description); eina_stringshare_del(pd->translation_domain); diff --git a/src/lib/elementary/efl_access_object.eo b/src/lib/elementary/efl_access_object.eo index 1316c5b88b..96f6fc0a00 100644 --- a/src/lib/elementary/efl_access_object.eo +++ b/src/lib/elementary/efl_access_object.eo @@ -409,7 +409,6 @@ mixin Efl.Access.Object requires Efl.Object } implements { Efl.Object.destructor; - Efl.Object.invalidate; } events { property,changed: string; [[Called when property has changed]] diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c index d6dbecbc26..86ea7c6aba 100644 --- a/src/lib/elementary/efl_ui_widget.c +++ b/src/lib/elementary/efl_ui_widget.c @@ -4060,7 +4060,6 @@ _elm_widget_item_efl_object_destructor(Eo *eo_item, Elm_Widget_Item_Data *item) } eina_hash_free(item->labels); - efl_access_object_attributes_clear(eo_item); efl_access_removed(eo_item); EINA_MAGIC_SET(item, EINA_MAGIC_NONE); @@ -5370,7 +5369,6 @@ _efl_ui_widget_efl_object_destructor(Eo *obj, Elm_Widget_Smart_Data *sd) efl_event_callback_del(sd->manager.provider, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj); sd->manager.provider = NULL; } - efl_access_object_attributes_clear(obj); efl_access_removed(obj); if (sd->logical.parent) { |