summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Stanislawski <l.stanislaws@samsung.com>2015-10-28 17:02:01 +0100
committerNicolas Aguirre <aguirre.nicolas@gmail.com>2015-11-12 10:15:03 +0100
commitca4b11f124a77a5ae105718a1311418a4e7ee51d (patch)
treeb7cb27c163fd548886ce7b458a88842e324be72f
parentdbaab116b05dd3d5b5bcc56ab9ef67b7bde7a36c (diff)
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.c7
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
5569 if (elm_win_focus_get(win)) 5569 if (elm_win_focus_get(win))
5570 { 5570 {
5571 elm_interface_atspi_window_activated_signal_emit(win); 5571 elm_interface_atspi_window_activated_signal_emit(win);
5572 /** Reemit focused event to inform atspi clients about currently
5573 * focused object **/
5574 unsigned int order = 0;
5575 Evas_Object *target;
5576 eo_do(win, target = elm_obj_widget_newest_focus_order_get(&order, EINA_TRUE));
5577 if (target)
5578 elm_interface_atspi_accessible_state_changed_signal_emit(target, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE);
5572 } 5579 }
5573 else 5580 else
5574 elm_interface_atspi_window_deactivated_signal_emit(win); 5581 elm_interface_atspi_window_deactivated_signal_emit(win);