summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Stanislawski <lukasz.stanislawski@gmail.com>2019-01-24 06:55:39 +0100
committerLukasz Stanislawski <lukasz.stanislawski@gmail.com>2019-01-24 06:55:39 +0100
commit579c564574b3434bf7596035db92c8f9d08175ab (patch)
tree1680196028f3adce24d46850aa193fb50e5f09e9
parent289989926c9b35ceba8169fe25b82a5daae630a7 (diff)
downloadefl-579c564574b3434bf7596035db92c8f9d08175ab.tar.gz
efl_access: remove Efl.Object.invalidate implementation
-rw-r--r--src/lib/elementary/efl_access_object.c37
-rw-r--r--src/lib/elementary/efl_access_object.eo1
-rw-r--r--src/lib/elementary/efl_ui_widget.c2
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)
{