efl_access: Add class check for using access_parent_set 71/200371/3
authorJunsuChoi <jsuya.choi@samsung.com>
Fri, 22 Feb 2019 08:49:05 +0000 (17:49 +0900)
committerjunsu choi <jsuya.choi@samsung.com>
Tue, 26 Feb 2019 02:21:25 +0000 (02:21 +0000)
[dlog]
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Evas.Box'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Evas.Image'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Evas.Image'.# Please enter the commit message for your changes. Lines starting

Change-Id: I986b275e135320c77323dc0223d6d2e7065e57f1

15 files changed:
src/lib/elementary/efl_ui_list_view.c
src/lib/elementary/efl_ui_widget.c
src/lib/elementary/elc_hoversel.c
src/lib/elementary/elc_multibuttonentry.c
src/lib/elementary/elc_naviframe.c
src/lib/elementary/elm_atspi_ewk_wrapper.c
src/lib/elementary/elm_colorselector.c
src/lib/elementary/elm_entry.c
src/lib/elementary/elm_gengrid.c
src/lib/elementary/elm_index.c
src/lib/elementary/elm_list.c
src/lib/elementary/elm_menu.c
src/lib/elementary/elm_toolbar.c
src/lib/elementary_tizen/elc_ctxpopup.c
src/lib/elementary_tizen/elm_genlist.c

index b24cae0..82dcf46 100644 (file)
@@ -886,7 +886,10 @@ _efl_ui_list_view_efl_access_object_access_children_get(const Eo *obj, Efl_Ui_Li
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    Eo *it;
    EINA_LIST_FOREACH(ret, ret2, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(it, obj);
+     }
    //
    ret2 = efl_access_object_access_children_get(efl_super(obj, EFL_UI_LIST_VIEW_CLASS));
 
index 3409dfb..8c697a7 100644 (file)
@@ -1791,7 +1791,8 @@ _efl_ui_widget_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Ob
    sd->subobjs = eina_list_append(sd->subobjs, sobj);
    evas_object_data_set(sobj, "elm-parent", obj);
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
-   efl_access_object_access_parent_set(sobj, obj);
+   if (efl_isa(sobj, EFL_ACCESS_OBJECT_MIXIN))
+     efl_access_object_access_parent_set(sobj, obj);
    //
 
    _callbacks_add(sobj, obj);
@@ -1861,7 +1862,8 @@ _efl_ui_widget_widget_sub_object_del(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Ob
 
    sobj_parent = evas_object_data_del(sobj, "elm-parent");
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
-   efl_access_object_access_parent_set(sobj, NULL);
+   if (efl_isa(sobj, EFL_ACCESS_OBJECT_MIXIN))
+      efl_access_object_access_parent_set(sobj, NULL);
    //
    if (sobj_parent && sobj_parent != obj)
      {
index 0ad145a..9f597fb 100644 (file)
@@ -1119,7 +1119,10 @@ _elm_hoversel_efl_access_object_access_children_get(const Eo *obj EINA_UNUSED, E
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    Eo *it;
    EINA_LIST_FOREACH(pd->items, ret, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+           efl_access_object_access_parent_set(it, obj);
+     }
    //
 
    ret = efl_access_object_access_children_get(efl_super(obj, ELM_HOVERSEL_CLASS));
index 3cb6086..5b832ab 100644 (file)
@@ -2312,20 +2312,25 @@ _elm_multibuttonentry_efl_access_object_access_children_get(const Eo *obj, Elm_M
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    Eo *it;
    EINA_LIST_FOREACH(sd->items, ret, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(it, obj);
+     }
    //
 
    //TIZEN_ONLY(20160527) : Improve MBE atspi support
    if (sd->label && sd->label_packed)
      {
-       ret = eina_list_append(ret, sd->label_access);
-       efl_access_object_access_parent_set(sd->label_access, obj);
+        ret = eina_list_append(ret, sd->label_access);
+        if (efl_isa(sd->label_access, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(sd->label_access, obj);
      }
    ret = eina_list_merge(ret, eina_list_clone(sd->items));
    if (sd->editable && (sd->view_state != MULTIBUTTONENTRY_VIEW_SHRINK))
      {
-       ret = eina_list_append(ret, sd->box);
-       efl_access_object_access_parent_set(sd->box, obj);
+        ret = eina_list_append(ret, sd->box);
+        if (efl_isa(sd->box, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(sd->box, obj);
      }
    //
    return ret;
index 33651d7..22ed86a 100644 (file)
@@ -2423,7 +2423,8 @@ _elm_naviframe_item_efl_access_object_access_children_get(const Eo *eo_item EINA
    Eina_List *ret = NULL;
 
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
-   efl_access_object_access_parent_set(VIEW(nit), eo_item);
+   if (efl_isa(VIEW(nit), EFL_ACCESS_OBJECT_MIXIN))
+      efl_access_object_access_parent_set(VIEW(nit), eo_item);
    //
 
    ret = eina_list_append(ret, VIEW(nit));
index cbc2287..b5efbd8 100644 (file)
@@ -134,10 +134,11 @@ _elm_atspi_ewk_wrapper_efl_access_object_access_children_get(const Eo *obj EINA_
 {
    if (_pd->proxy)
      {
-       //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
-       efl_access_object_access_parent_set(_pd->proxy, obj);
-       //
-       return eina_list_append(NULL, _pd->proxy);
+        //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
+        if (efl_isa(_pd->proxy, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(_pd->proxy, obj);
+        //
+        return eina_list_append(NULL, _pd->proxy);
      }
    return NULL;
 }
index b5b47cf..a814067 100644 (file)
@@ -2721,7 +2721,10 @@ _elm_colorselector_efl_access_object_access_children_get(const Eo *obj EINA_UNUS
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    Eo *it;
    EINA_LIST_FOREACH(sd->items, ret, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(it, obj);
+     }
    //
 
    ret = efl_access_object_access_children_get(efl_super(obj, ELM_COLORSELECTOR_CLASS));
index 078f960..8e10f4a 100644 (file)
@@ -8254,9 +8254,12 @@ _elm_entry_efl_access_object_access_children_get(const Eo *obj EINA_UNUSED, Elm_
         EINA_LIST_FOREACH(sd->anchor_atspi_rects, l, rect)
           {
             //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
-            Eo *rect_eo = elm_access_object_get(rect);
-            ret = eina_list_append(ret, rect_eo);
-            efl_access_object_access_parent_set(rect_eo, obj);
+             if (efl_isa(rect, EFL_ACCESS_OBJECT_MIXIN))
+               {
+                  Eo *rect_eo = elm_access_object_get(rect);
+                  ret = eina_list_append(ret, rect_eo);
+                  efl_access_object_access_parent_set(rect_eo, obj);
+               }
             //
           }
      }
index 16cc68b..2f2e1b0 100644 (file)
@@ -1175,7 +1175,8 @@ _item_content_realize(Elm_Gen_Item *it,
                  edje_object_signal_emit(target, buf, "elm");
                  goto out;
               }
-              efl_access_object_access_parent_set(content, EO_OBJ(it));
+              if (efl_isa(content, EFL_ACCESS_OBJECT_MIXIN))
+                efl_access_object_access_parent_set(content, EO_OBJ(it));
           }
         eina_hash_add(sd->content_item_map, &content, it->base->eo_obj);
         *contents = eina_list_append(*contents, content);
index fc59719..dc0ad9f 100644 (file)
@@ -1782,7 +1782,10 @@ _elm_index_efl_access_object_access_children_get(const Eo *obj, Elm_Index_Data *
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    Eo *it;
    EINA_LIST_FOREACH(data->items, ret, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(it, obj);
+     }
    //
 
    ret = efl_access_object_access_children_get(efl_super(obj, ELM_INDEX_CLASS));
index 675e151..95cc440 100644 (file)
@@ -2122,7 +2122,8 @@ _elm_list_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_List_Item_Da
    sd->items = eina_list_remove_list(sd->items, item->node);
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    evas_object_data_del(item->node, "elm-parent");
-   efl_access_object_access_parent_set(item->node, NULL);
+   if (efl_isa(item->node, EFL_ACCESS_OBJECT_MIXIN))
+      efl_access_object_access_parent_set(item->node, NULL);
    //
    item->node = NULL;
 }
@@ -2852,7 +2853,8 @@ _elm_list_item_append(Eo *obj, Elm_List_Data *sd, const char *label, Evas_Object
    sd->items = eina_list_append(sd->items, EO_OBJ(it));
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    evas_object_data_set(EO_OBJ(it), "elm-parent", obj);
-   efl_access_object_access_parent_set(EO_OBJ(it), obj);
+   if (efl_isa(EO_OBJ(it), EFL_ACCESS_OBJECT_MIXIN))
+     efl_access_object_access_parent_set(EO_OBJ(it), obj);
    //
    it->node = eina_list_last(sd->items);
    elm_box_pack_end(sd->box, VIEW(it));
@@ -2873,7 +2875,8 @@ _elm_list_item_prepend(Eo *obj, Elm_List_Data *sd, const char *label, Evas_Objec
    sd->items = eina_list_prepend(sd->items, EO_OBJ(it));
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    evas_object_data_set(EO_OBJ(it), "elm-parent", obj);
-   efl_access_object_access_parent_set(EO_OBJ(it), obj);
+   if (efl_isa(EO_OBJ(it), EFL_ACCESS_OBJECT_MIXIN))
+     efl_access_object_access_parent_set(EO_OBJ(it), obj);
    //
    it->node = sd->items;
    elm_box_pack_start(sd->box, VIEW(it));
@@ -2899,7 +2902,8 @@ _elm_list_item_insert_before(Eo *obj, Elm_List_Data *sd, Elm_Object_Item *eo_bef
    sd->items = eina_list_prepend_relative_list(sd->items, EO_OBJ(it), before_it->node);
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    evas_object_data_set(EO_OBJ(it), "elm-parent", obj);
-   efl_access_object_access_parent_set(EO_OBJ(it), obj);
+   if (efl_isa(EO_OBJ(it), EFL_ACCESS_OBJECT_MIXIN))
+     efl_access_object_access_parent_set(EO_OBJ(it), obj);
    //
    it->node = before_it->node->prev;
    elm_box_pack_before(sd->box, VIEW(it), VIEW(before_it));
@@ -2925,7 +2929,8 @@ _elm_list_item_insert_after(Eo *obj, Elm_List_Data *sd, Elm_Object_Item *eo_afte
    sd->items = eina_list_append_relative_list(sd->items, EO_OBJ(it), after_it->node);
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    evas_object_data_set(EO_OBJ(it), "elm-parent", obj);
-   efl_access_object_access_parent_set(EO_OBJ(it), obj);
+   if (efl_isa(EO_OBJ(it), EFL_ACCESS_OBJECT_MIXIN))
+     efl_access_object_access_parent_set(EO_OBJ(it), obj);
    //
    it->node = after_it->node->next;
    elm_box_pack_after(sd->box, VIEW(it), VIEW(after_it));
@@ -2947,7 +2952,8 @@ _elm_list_item_sorted_insert(Eo *obj, Elm_List_Data *sd, const char *label, Evas
    sd->items = eina_list_sorted_insert(sd->items, cmp_func, EO_OBJ(it));
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    evas_object_data_set(EO_OBJ(it), "elm-parent", obj);
-   efl_access_object_access_parent_set(EO_OBJ(it), obj);
+   if (efl_isa(EO_OBJ(it), EFL_ACCESS_OBJECT_MIXIN))
+     efl_access_object_access_parent_set(EO_OBJ(it), obj);
    //
    l = eina_list_data_find_list(sd->items, EO_OBJ(it));
    l = eina_list_next(l);
@@ -3267,7 +3273,10 @@ _elm_list_efl_access_object_access_children_get(const Eo *obj, Elm_List_Data *pd
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    Eo *it;
    EINA_LIST_FOREACH(pd->items, ret, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(it, obj);
+     }
    //
 
    ret = efl_access_object_access_children_get(efl_super(obj, ELM_LIST_CLASS));
index 935f18e..ac1bb32 100644 (file)
@@ -1315,7 +1315,10 @@ _elm_menu_efl_access_object_access_children_get(const Eo *obj, Elm_Menu_Data *sd
    //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
    Eo *it;
    EINA_LIST_FOREACH(sd->items, ret, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(it, obj);
+     }
    //
 
    ret = efl_access_object_access_children_get(efl_super(obj, ELM_MENU_CLASS));
@@ -1329,7 +1332,10 @@ _elm_menu_item_efl_access_object_access_children_get(const Eo *obj EINA_UNUSED,
    Eina_List *ret;
    Eo *it;
    EINA_LIST_FOREACH(sd->submenu.items, ret, it)
-     efl_access_object_access_parent_set(it, obj);
+     {
+        if (efl_isa(it, EFL_ACCESS_OBJECT_MIXIN))
+          efl_access_object_access_parent_set(it, obj);
+     }
    //
 
    return eina_list_clone(sd->submenu.items);
index c237a17..1f36ac4 100644 (file)
@@ -4253,10 +4253,13 @@ _elm_toolbar_efl_access_object_access_children_get(const Eo *obj EINA_UNUSED, El
 
    EINA_INLIST_FOREACH(sd->items, it)
      {
-       ret = eina_list_append(ret, EO_OBJ(it));
-       //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
-       efl_access_object_access_parent_set(EO_OBJ(it), obj);
-       //
+        if (efl_isa(EO_OBJ(it), EFL_ACCESS_OBJECT_MIXIN))
+          {
+             ret = eina_list_append(ret, EO_OBJ(it));
+             //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
+             efl_access_object_access_parent_set(EO_OBJ(it), obj);
+             //
+          }
      }
 
    return eina_list_merge(ret, ret2);
index c323a3c..e71c2cb 100644 (file)
@@ -2759,10 +2759,13 @@ _elm_ctxpopup_efl_access_object_access_children_get(const Eo *eo_item EINA_UNUSE
 
    EINA_LIST_FOREACH(sd->items, l, it)
      {
-       ret = eina_list_append(ret, EO_OBJ(it));
-       //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
-       efl_access_object_access_parent_set(EO_OBJ(it), eo_item);
-       //
+        if (efl_isa(EO_OBJ(it), EFL_ACCESS_OBJECT_MIXIN))
+          {
+             ret = eina_list_append(ret, EO_OBJ(it));
+             //TIZEN_ONLY(20181024): Fix parent-children incosistencies in atspi tree
+             efl_access_object_access_parent_set(EO_OBJ(it), eo_item);
+             //
+          }
      }
 
    return ret;
index 84c0103..f495d50 100644 (file)
@@ -847,7 +847,8 @@ _item_content_realize(Elm_Gen_Item *it,
                   goto out;
                }
              elm_widget_sub_object_add(WIDGET(it), content);
-             efl_access_object_access_parent_set(content, EO_OBJ(it));
+             if (efl_isa(content, EFL_ACCESS_OBJECT_MIXIN))
+                efl_access_object_access_parent_set(content, EO_OBJ(it));
           }
         *contents = eina_list_append(*contents, content);