[orca] Fix for bgo#618790 - The active descendant in OOo Writer 3.2's Templates and Documents dialog are no



commit 4876bc36a6cff15c906c4a0df28f42b14a3a0326
Author: Joanmarie Diggs <joanmarie diggs gmail com>
Date:   Sun May 16 19:19:52 2010 -0400

    Fix for bgo#618790 - The active descendant in OOo Writer 3.2's Templates and Documents dialog are not presented

 src/orca/scripts/apps/soffice/script_utilities.py |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/src/orca/scripts/apps/soffice/script_utilities.py b/src/orca/scripts/apps/soffice/script_utilities.py
index 81c7cff..6781f35 100644
--- a/src/orca/scripts/apps/soffice/script_utilities.py
+++ b/src/orca/scripts/apps/soffice/script_utilities.py
@@ -88,6 +88,21 @@ class Utilities(script_utilities.Utilities):
 
         return readOnly
 
+    def isSameObject(self, obj1, obj2):
+        same = script_utilities.Utilities.isSameObject(self, obj1, obj2)
+
+        # Handle the case of false positives in dialog boxes resulting
+        # from getIndexInParent() returning a bogus value. bgo#618790.
+        #
+        if same and (obj1 != obj2) and not obj1.name \
+           and obj1.getRole() == pyatspi.ROLE_TABLE_CELL \
+           and obj1.getIndexInParent() == obj2.getIndexInParent() == -1:
+            top = self.topLevelObject(obj1)
+            if top and top.getRole() == pyatspi.ROLE_DIALOG:
+                same = False
+
+        return same
+
     def frameAndDialog(self, obj):
         """Returns the frame and (possibly) the dialog containing
         the object. Overridden here for presentation of the title



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