[orca/gnome-3-24] Handle another Atspi "The process appears to be hung" exception



commit d51f87a7f000d099da98247dc7ca337b2b5483be
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Fri Apr 28 15:35:39 2017 -0400

    Handle another Atspi "The process appears to be hung" exception

 src/orca/scripts/default.py |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/src/orca/scripts/default.py b/src/orca/scripts/default.py
index 8cd071b..825d558 100644
--- a/src/orca/scripts/default.py
+++ b/src/orca/scripts/default.py
@@ -2676,9 +2676,21 @@ class Script(script.Script):
 
         obj = event.source
         role = obj.getRole()
-        value = obj.queryValue()
+
+        try:
+            value = obj.queryValue()
+            currentValue = value.currentValue
+        except NotImplementedError:
+            msg = "ERROR: %s doesn't implement AtspiValue" % obj
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return
+        except:
+            msg = "ERROR: Exception getting current value for %s" % obj
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return
+
         if "oldValue" in self.pointOfReference \
-           and (value.currentValue == self.pointOfReference["oldValue"]):
+           and (currentValue == self.pointOfReference["oldValue"]):
             return
 
         isProgressBarUpdate, msg = self.utilities.isProgressBarUpdate(obj, event)
@@ -2690,7 +2702,7 @@ class Script(script.Script):
             debug.println(debug.LEVEL_INFO, msg, True)
             return
 
-        self.pointOfReference["oldValue"] = value.currentValue
+        self.pointOfReference["oldValue"] = currentValue
         self.updateBraille(obj, isProgressBarUpdate=isProgressBarUpdate)
         speech.speak(self.speechGenerator.generateSpeech(
             obj, alreadyFocused=True, isProgressBarUpdate=isProgressBarUpdate))


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