[orca] Handle GError which prevents Orca from speaking menu items in Skype



commit f18c5e8c135dc616d5fd42e2f53d317cde8e52c4
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Mon Mar 12 05:37:32 2012 -0400

    Handle GError which prevents Orca from speaking menu items in Skype

 src/orca/generator.py        |    4 ++++
 src/orca/speech_generator.py |    8 +++++++-
 2 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/src/orca/generator.py b/src/orca/generator.py
index a8ad1c7..94999c2 100644
--- a/src/orca/generator.py
+++ b/src/orca/generator.py
@@ -308,6 +308,10 @@ class Generator:
             if description:
                 result.append(description)
         # To make the unlabeled icons in gnome-panel more accessible.
+        try:
+            role = args.get('role', obj.getRole())
+        except (LookupError, RuntimeError):
+            return result
         if not result and obj.getRole() == pyatspi.ROLE_ICON \
            and obj.parent.getRole() == pyatspi.ROLE_PANEL:
             return self._generateName(obj.parent)
diff --git a/src/orca/speech_generator.py b/src/orca/speech_generator.py
index 631c085..1239cda 100644
--- a/src/orca/speech_generator.py
+++ b/src/orca/speech_generator.py
@@ -29,6 +29,7 @@ import pyatspi
 import urlparse, urllib2
 from gi.repository import Atspi, Atk
 
+import debug
 import generator
 import orca
 import settings
@@ -140,7 +141,12 @@ class SpeechGenerator(generator.Generator):
         needed a _generateDescription for whereAmI. :-) See below.
         """
 
-        role = args.get('role', obj.getRole())
+        try:
+            role = args.get('role', obj.getRole())
+        except (LookupError, RuntimeError):
+            debug.println(debug.LEVEL_FINE, "Error getting role for: %s" % obj)
+            role = None
+
         if role == pyatspi.ROLE_LAYERED_PANE:
             if _settingsManager.getSetting('onlySpeakDisplayedText'):
                 return []



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