From: JunsuChoi Date: Fri, 22 Feb 2019 08:49:05 +0000 (+0900) Subject: efl_access: Add class check for using access_parent_set X-Git-Tag: accepted/tizen/unified/20190228.083550~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F71%2F200371%2F3;p=platform%2Fupstream%2Fefl.git efl_access: Add class check for using access_parent_set [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 --- diff --git a/src/lib/elementary/efl_ui_list_view.c b/src/lib/elementary/efl_ui_list_view.c index b24cae0..82dcf46 100644 --- a/src/lib/elementary/efl_ui_list_view.c +++ b/src/lib/elementary/efl_ui_list_view.c @@ -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)); diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c index 3409dfb..8c697a7 100644 --- a/src/lib/elementary/efl_ui_widget.c +++ b/src/lib/elementary/efl_ui_widget.c @@ -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) { diff --git a/src/lib/elementary/elc_hoversel.c b/src/lib/elementary/elc_hoversel.c index 0ad145a..9f597fb 100644 --- a/src/lib/elementary/elc_hoversel.c +++ b/src/lib/elementary/elc_hoversel.c @@ -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)); diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c index 3cb6086..5b832ab 100644 --- a/src/lib/elementary/elc_multibuttonentry.c +++ b/src/lib/elementary/elc_multibuttonentry.c @@ -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; diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index 33651d7..22ed86a 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -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)); diff --git a/src/lib/elementary/elm_atspi_ewk_wrapper.c b/src/lib/elementary/elm_atspi_ewk_wrapper.c index cbc2287..b5efbd8 100644 --- a/src/lib/elementary/elm_atspi_ewk_wrapper.c +++ b/src/lib/elementary/elm_atspi_ewk_wrapper.c @@ -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; } diff --git a/src/lib/elementary/elm_colorselector.c b/src/lib/elementary/elm_colorselector.c index b5b47cf..a814067 100644 --- a/src/lib/elementary/elm_colorselector.c +++ b/src/lib/elementary/elm_colorselector.c @@ -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)); diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index 078f960..8e10f4a 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c @@ -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); + } // } } diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c index 16cc68b..2f2e1b0 100644 --- a/src/lib/elementary/elm_gengrid.c +++ b/src/lib/elementary/elm_gengrid.c @@ -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); diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c index fc59719..dc0ad9f 100644 --- a/src/lib/elementary/elm_index.c +++ b/src/lib/elementary/elm_index.c @@ -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)); diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c index 675e151..95cc440 100644 --- a/src/lib/elementary/elm_list.c +++ b/src/lib/elementary/elm_list.c @@ -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)); diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c index 935f18e..ac1bb32 100644 --- a/src/lib/elementary/elm_menu.c +++ b/src/lib/elementary/elm_menu.c @@ -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); diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c index c237a17..1f36ac4 100644 --- a/src/lib/elementary/elm_toolbar.c +++ b/src/lib/elementary/elm_toolbar.c @@ -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); diff --git a/src/lib/elementary_tizen/elc_ctxpopup.c b/src/lib/elementary_tizen/elc_ctxpopup.c index c323a3c..e71c2cb 100644 --- a/src/lib/elementary_tizen/elc_ctxpopup.c +++ b/src/lib/elementary_tizen/elc_ctxpopup.c @@ -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; diff --git a/src/lib/elementary_tizen/elm_genlist.c b/src/lib/elementary_tizen/elm_genlist.c index 84c0103..f495d50 100644 --- a/src/lib/elementary_tizen/elm_genlist.c +++ b/src/lib/elementary_tizen/elm_genlist.c @@ -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);