Override Elm_Interface_Atspi_Accessible.relationships_clear 20/129720/1
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 17 May 2017 02:08:46 +0000 (11:08 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Thu, 18 May 2017 01:33:46 +0000 (10:33 +0900)
The elm_widget, elm_widget_item override following interfaces.

  - Elm_Interface_Atspi_Accessible.relationship_append
  - Elm_Interface_Atspi_Accessible.relationship_remove

And keeps the relationship information in its data structure.
So the elm_atspi_accessible_relationships_clear does not work.

Change-Id: I790e27f0cc296d466d832d33c0596f063d499232

src/lib/elm_widget.c
src/lib/elm_widget.eo
src/lib/elm_widget_item.eo

index 81be981..6003c14 100644 (file)
@@ -6720,6 +6720,21 @@ _elm_widget_item_elm_interface_atspi_accessible_relation_set_get(Eo *obj EINA_UN
 {
    return elm_atspi_relation_set_clone(&sd->atspi_custom_relations);
 }
+
+EOLIAN static void
+_elm_widget_elm_interface_atspi_accessible_relationships_clear(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
+{
+   elm_atspi_relation_set_free(&sd->atspi_custom_relations);
+   sd->atspi_custom_relations = NULL;
+}
+//
+
+EOLIAN static void
+_elm_widget_item_elm_interface_atspi_accessible_relationships_clear(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *sd)
+{
+   elm_atspi_relation_set_free(&sd->atspi_custom_relations);
+   sd->atspi_custom_relations = NULL;
+}
 //
 
 EOLIAN static void
index a8ca746..3e9f22a 100644 (file)
@@ -891,6 +891,7 @@ abstract Elm.Widget (Evas.Object_Smart, Elm_Interface_Atspi_Accessible,
       Elm_Interface_Atspi_Accessible.relation_set.get;
       Elm_Interface_Atspi_Accessible.relationship_append;
       Elm_Interface_Atspi_Accessible.relationship_remove;
+      Elm_Interface_Atspi_Accessible.relationships_clear;
       //
       //TIZEN_ONLY(20150731) : add i18n support for name and description
       Elm_Interface_Atspi_Accessible.translation_domain.set;
index ea4f83f..c4f3336 100644 (file)
@@ -683,6 +683,7 @@ class Elm.Widget_Item (Eo.Base, Elm_Interface_Atspi_Accessible,
            Elm_Interface_Atspi_Accessible.relationship_append;
            Elm_Interface_Atspi_Accessible.relationship_remove;
            Elm_Interface_Atspi_Accessible.relation_set.get;
+           Elm_Interface_Atspi_Accessible.relationships_clear;
            //
            //TIZEN_ONLY(20150731) : add i18n support for name and description
            Elm_Interface_Atspi_Accessible.translation_domain.set;