diff options
author | Lukasz Stanislawski <l.stanislaws@samsung.com> | 2015-10-28 17:02:01 +0100 |
---|---|---|
committer | Lukasz Stanislawski <l.stanislaws@samsung.com> | 2015-10-29 11:41:59 +0100 |
commit | d64d752429130827a8ad37139d885f03b97c9fd4 (patch) | |
tree | b7cb27c163fd548886ce7b458a88842e324be72f | |
parent | ad3ca963bff9c7e4edf481bdd74011ab2dd8db43 (diff) | |
download | elementary-d64d752429130827a8ad37139d885f03b97c9fd4.tar.gz |
win: reemit atspi "focused" event on bridge connection
At-spi clients assume that object:state-changed:focused event is emitted
on application start. By the time atspi_bridge will establish
connection on at-spi bus all focused events are already emitted.
To fix this we reemit "focused" event in bridge connection callback.
This fixes a bug when Orca screen reader do not read first element after
application launch.
@fix
-rw-r--r-- | src/lib/elm_win.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 12bc7c1f6..f9d3e8428 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -5569,6 +5569,13 @@ _on_atspi_bus_connected(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const Eo_Ev if (elm_win_focus_get(win)) { elm_interface_atspi_window_activated_signal_emit(win); + /** Reemit focused event to inform atspi clients about currently + * focused object **/ + unsigned int order = 0; + Evas_Object *target; + eo_do(win, target = elm_obj_widget_newest_focus_order_get(&order, EINA_TRUE)); + if (target) + elm_interface_atspi_accessible_state_changed_signal_emit(target, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE); } else elm_interface_atspi_window_deactivated_signal_emit(win); |