OSDN Git Service

Fix bug that stopped Chinese New Phonetic candidates from reading on XP if auto repor...
authorMichael Curran <mick@kulgan.net>
Mon, 22 Oct 2012 23:08:59 +0000 (09:08 +1000)
committerMichael Curran <mick@kulgan.net>
Mon, 22 Oct 2012 23:08:59 +0000 (09:08 +1000)
source/NVDAObjects/IAccessible/mscandui.py

index c82cc61..9919482 100755 (executable)
@@ -145,21 +145,31 @@ class MSCandUI21(IAccessible):
 \r
 class MSCandUIWindow_candidateListItem(MSCandUI_candidateListItem):\r
 \r
+       def _get_isValidCandidate(self):\r
+               if self.IAccessibleRole!=oleacc.ROLE_SYSTEM_LISTITEM:\r
+                       return False\r
+               name=super(BaseCandidateItem,self).name\r
+               if not name:\r
+                       return False\r
+               return True\r
+\r
        def _get_candidateNumber(self):\r
                index=self.IAccessibleChildID-2\r
                if index>0:\r
-                       return unicode(index)\r
+                       return index\r
 \r
        def _get_next(self):\r
                childID=self.IAccessibleChildID+1\r
                item=self.__class__(IAccessibleObject=self.IAccessibleObject,IAccessibleChildID=childID)\r
-               if item.IAccessibleRole==oleacc.ROLE_SYSTEM_LISTITEM:\r
+               if item.isValidCandidate:\r
                        return item\r
 \r
        def _get_previous(self):\r
                childID=self.IAccessibleChildID-1\r
                if childID>=3:\r
-                       return self.__class__(IAccessibleObject=self.IAccessibleObject,IAccessibleChildID=childID)\r
+                       item=self.__class__(IAccessibleObject=self.IAccessibleObject,IAccessibleChildID=childID)\r
+                       if item.isValidCandidate:\r
+                               return item\r
 \r
 class MSCandUIWindow(IAccessible):\r
 \r