else
{
if (visible)
- _accessibility_currently_highlighted_obj = obj;
+ {
+ //TIZEN_ONLY(20200224): Handle case where last highlighted object is in different window
+ if (_accessibility_currently_highlighted_obj &&
+ _accessibility_currently_highlighted_obj != (void*)obj)
+ {
+ Evas_Object *last_win = NULL, *last_target = NULL, *last_hobj = NULL;
+ last_hobj = (Evas_Object *)_accessibility_currently_highlighted_obj;
+ if (efl_isa(last_hobj, ELM_WIDGET_ITEM_CLASS))
+ {
+ Elm_Widget_Item_Data *id = efl_data_scope_get(last_hobj, ELM_WIDGET_ITEM_CLASS);
+ last_target = id->view;
+ }
+ else
+ last_target = last_hobj;
+ if (elm_object_widget_check(last_target))
+ last_win = elm_object_top_widget_get(last_target);
+ else
+ last_win = elm_object_top_widget_get(elm_object_parent_widget_get(last_target));
+ if (last_win != win)
+ {
+ if (efl_isa(last_target, EFL_UI_LAYOUT_CLASS) && elm_widget_access_highlight_in_theme_get(last_target))
+ elm_widget_signal_emit(last_target, "elm,action,access_highlight,hide", "elm");
+ else
+ _elm_win_object_set_accessibility_highlight(last_win, last_target, EINA_FALSE);
+ }
+ }
+ //
+ _accessibility_currently_highlighted_obj = obj;
+ }
}
if (efl_isa(target, EFL_UI_LAYOUT_CLASS) && elm_widget_access_highlight_in_theme_get(target))