stanluk pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=db3c4bdd2ffaba8cc02c18467e5fd0290b42218b
commit db3c4bdd2ffaba8cc02c18467e5fd0290b42218b Author: Lukasz Stanislawski <l.stanisl...@samsung.com> Date: Thu Dec 17 09:36:02 2015 +0100 atspi: return previous name in overloaded getters Some overloaded accessible name getters did not respect values set by developer. @fix --- src/lib/elm_entry.c | 5 ++++- src/lib/elm_gengrid.c | 5 ++++- src/lib/elm_genlist.c | 6 ++++-- src/lib/elm_list.c | 5 ++++- src/lib/elm_menu.c | 5 ++++- src/lib/elm_spinner.c | 3 +++ src/lib/elm_toolbar.c | 5 ++++- src/lib/elm_win.c | 7 +++++-- 8 files changed, 32 insertions(+), 9 deletions(-) diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c index ec6e502..baedc27 100644 --- a/src/lib/elm_entry.c +++ b/src/lib/elm_entry.c @@ -5718,8 +5718,11 @@ _elm_entry_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Entry_Data } EOLIAN static char* -_elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd) +_elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd) { + char *name; + eo_do_super(obj, ELM_ENTRY_CLASS, name = elm_interface_atspi_accessible_name_get()); + if (name && strncmp("", name, 1)) return name; const char *ret = edje_object_part_text_get(sd->entry_edje, "elm.guide"); return ret ? strdup(ret) : NULL; } diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index 093f5e4..26d753d 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -5492,11 +5492,14 @@ _elm_gengrid_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge } EOLIAN char* -_elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it EINA_UNUSED, Elm_Gen_Item *it) +_elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Item *it) { char *ret; Eina_Strbuf *buf; + eo_do_super(eo_it, ELM_GENGRID_ITEM_CLASS, ret = elm_interface_atspi_accessible_name_get()); + if (ret) return ret; + buf = eina_strbuf_new(); if (it->itc->func.text_get) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index 0c84c8f..e6ff721 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -8038,12 +8038,14 @@ _elm_genlist_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge } EOLIAN char* -_elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it EINA_UNUSED, - Elm_Gen_Item *it) +_elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Item *it) { char *ret; Eina_Strbuf *buf; + eo_do_super(eo_it, ELM_GENLIST_ITEM_CLASS, ret = elm_interface_atspi_accessible_name_get()); + if (ret) return ret; + buf = eina_strbuf_new(); if (it->itc->func.text_get) diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index a4fbffe..1e81b74 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c @@ -2152,8 +2152,11 @@ _elm_list_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_List_ } EOLIAN static char* -_elm_list_item_elm_interface_atspi_accessible_name_get(Eo *eo_it EINA_UNUSED, Elm_List_Item_Data *data) +_elm_list_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_List_Item_Data *data) { + char *ret; + eo_do_super(eo_it, ELM_LIST_ITEM_CLASS, ret = elm_interface_atspi_accessible_name_get()); + if (ret) return ret; return data->label ? strdup(data->label) : NULL; } diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c index c5ca878..5d7cd15 100644 --- a/src/lib/elm_menu.c +++ b/src/lib/elm_menu.c @@ -1315,8 +1315,11 @@ _elm_menu_item_elm_interface_atspi_accessible_role_get(Eo *obj EINA_UNUSED, Elm_ } EOLIAN static char* -_elm_menu_item_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Menu_Item_Data *sd) +_elm_menu_item_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Menu_Item_Data *sd) { + char *ret; + eo_do_super(obj, ELM_MENU_ITEM_CLASS, ret = elm_interface_atspi_accessible_name_get()); + if (ret) return ret; return sd->label ? strdup(sd->label) : NULL; } diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c index 019ad4d..116b606 100644 --- a/src/lib/elm_spinner.c +++ b/src/lib/elm_spinner.c @@ -1654,6 +1654,9 @@ _elm_spinner_elm_interface_atspi_value_increment_get(Eo *obj EINA_UNUSED, Elm_Sp EOLIAN static char* _elm_spinner_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Spinner_Data *sd EINA_UNUSED) { + char *name; + eo_do_super(obj, ELM_SPINNER_CLASS, name = elm_interface_atspi_accessible_name_get()); + if (name) return name; const char *ret = elm_layout_text_get(obj, "elm.text"); return ret ? strdup(ret) : NULL; } diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c index 4fc055b..0d193ed 100644 --- a/src/lib/elm_toolbar.c +++ b/src/lib/elm_toolbar.c @@ -3797,8 +3797,11 @@ _elm_toolbar_item_bring_in(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item, } EOLIAN static char* -_elm_toolbar_item_elm_interface_atspi_accessible_name_get(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item) +_elm_toolbar_item_elm_interface_atspi_accessible_name_get(Eo *eo_item, Elm_Toolbar_Item_Data *item) { + char *ret; + eo_do_super(eo_item, ELM_TOOLBAR_ITEM_CLASS, ret = elm_interface_atspi_accessible_name_get()); + if (ret) return ret; return item->label ? strdup(item->label) : NULL; } diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index ad91669..b1a05ae 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -5810,8 +5810,11 @@ _elm_win_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Win_Data *sd EOLIAN static char* _elm_win_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Win_Data *sd EINA_UNUSED) { - const char *ret = elm_win_title_get(obj); - return ret ? strdup(ret) : strdup(""); + char *ret; + eo_do_super(obj, ELM_WIN_CLASS, ret = elm_interface_atspi_accessible_name_get()); + if (ret) return ret; + const char *name = elm_win_title_get(obj); + return name ? strdup(name) : NULL; } #include "elm_win.eo.c" --