[orca/gnome-3-6] Fix for bug 681387 - Orca displays no braille when lists which are not listboxes claim focus in WebK



commit 63d8bd7520fa58e5fff590b745d734155f004215
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Tue Aug 7 17:56:52 2012 +0200

    Fix for bug 681387 - Orca displays no braille when lists which are not listboxes claim focus in WebKitGtk content

 src/orca/braille_generator.py |   11 +++++++----
 src/orca/speech_generator.py  |   11 +++++++----
 2 files changed, 14 insertions(+), 8 deletions(-)
---
diff --git a/src/orca/braille_generator.py b/src/orca/braille_generator.py
index 572ee16..8ef4ac1 100644
--- a/src/orca/braille_generator.py
+++ b/src/orca/braille_generator.py
@@ -289,11 +289,14 @@ class BrailleGenerator(generator.Generator):
         try:
             s = obj.querySelection()
         except NotImplementedError:
-            return result
+            isFocused = \
+                lambda x: x and x.getState().contains(pyatspi.STATE_FOCUSED)
+            items = pyatspi.utils.findAllDescendants(obj, isFocused)
+        else:
+            items = [s.getSelectedChild(i) for i in range(s.nSelectedChildren)]
+            if not items and obj.childCount:
+                items.append(obj[0])
 
-        items = [s.getSelectedChild(i) for i in range(s.nSelectedChildren)]
-        if not items and obj.childCount:
-            items.append(obj[0])
         items = list(map(self._generateName, items))
         for item in items:
             result.extend(item)
diff --git a/src/orca/speech_generator.py b/src/orca/speech_generator.py
index c30086d..ef1c3ce 100644
--- a/src/orca/speech_generator.py
+++ b/src/orca/speech_generator.py
@@ -1458,11 +1458,14 @@ class SpeechGenerator(generator.Generator):
         try:
             s = obj.querySelection()
         except NotImplementedError:
-            return result
+            isFocused = \
+                lambda x: x and x.getState().contains(pyatspi.STATE_FOCUSED)
+            items = pyatspi.utils.findAllDescendants(obj, isFocused)
+        else:
+            items = [s.getSelectedChild(i) for i in range(s.nSelectedChildren)]
+            if not items and obj.childCount:
+                items.append(obj[0])
 
-        items = [s.getSelectedChild(i) for i in range(s.nSelectedChildren)]
-        if not items and obj.childCount:
-            items.append(obj[0])
         items = list(map(self._generateName, items))
         for item in items:
             result.extend(item)



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