[orca] Handle another case of missing object:state-changed:focused events



commit ef4f6bf3276b9753b230e71530e114ce1a1a9d61
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Sat Nov 23 21:19:41 2013 -0500

    Handle another case of missing object:state-changed:focused events

 src/orca/scripts/toolkits/Gecko/script.py |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/src/orca/scripts/toolkits/Gecko/script.py b/src/orca/scripts/toolkits/Gecko/script.py
index 2952c9d..c3f79ba 100644
--- a/src/orca/scripts/toolkits/Gecko/script.py
+++ b/src/orca/scripts/toolkits/Gecko/script.py
@@ -1204,6 +1204,14 @@ class Script(default.Script):
         if role == pyatspi.ROLE_PUSH_BUTTON:
             orca.setLocusOfFocus(event, event.source)
 
+        # Some of the dialogs used by Thunderbird (and perhaps Firefox?) seem
+        # to be using Gtk+ 2, along with its associated focused-event issues.
+        # Unfortunately, because Gtk+ 2 doesn't expose a per-object toolkit,
+        # we cannot know that a given widget is Gtk+ 2. Therefore, we'll put
+        # our Gtk+ 2 toolkit script hacks here as well just to be safe.
+        if role in [pyatspi.ROLE_TEXT, pyatspi.ROLE_PASSWORD_TEXT]:
+            orca.setLocusOfFocus(event, event.source)
+
     def onFocusedChanged(self, event):
         """Callback for object:state-changed:focused accessibility events."""
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]