return;
}
- if (default_label_enabled) {
- _current_highlight_object_set(nd, NULL, HIGHLIGHT_FIRST);
- } else
- DEBUG("Current window(%p) does not support default label", root);
-
+ AtspiAccessible *old_root = g_object_ref(flat_navi_context_root_get(nd->flat_navi_context));
if (flat_navi_context_setup(nd->flat_navi_context, root)) {
DEBUG("END -- setup failed");
+ g_object_unref(old_root);
return;
}
+ AtspiAccessible *new_current = flat_navi_context_current_get(nd->flat_navi_context);
+ if (atspi_accessible_is_equal(old_root, new_current)) {
+ // when returning to old context root as current in new context we should highlight the current immediately without providing default label
+ default_label_enabled = EINA_FALSE;
+ }
+ g_object_unref(old_root);
+
+ if (default_label_enabled) {
+ _current_highlight_object_set(nd, NULL, HIGHLIGHT_FIRST);
+ } else if (new_current)
+ _current_highlight_object_set(nd, new_current, HIGHLIGHT_FIRST);
tw_purge(EINA_TRUE);