OSDN Git Service

adobeFlash vbuf: Trust IAccidentity over event parameters.
authorJames Teh <jamie@jantrid.net>
Wed, 6 Feb 2013 06:22:06 +0000 (16:22 +1000)
committerJames Teh <jamie@jantrid.net>
Wed, 6 Feb 2013 06:22:06 +0000 (16:22 +1000)
This is necessary for Flash 11.6 because the root ID changed to 1 instead of CHILDID_SELF. This makes sure the buffer has the right root ID so that refresh events work.

source/virtualBuffers/adobeFlash.py

index 554aba8..4ac575b 100644 (file)
@@ -59,7 +59,13 @@ class AdobeFlash(VirtualBuffer):
                return NVDAObjects.IAccessible.getNVDAObjectFromEvent(docHandle, objId, childId)\r
 \r
        def getIdentifierFromNVDAObject(self,obj):\r
-               return obj.windowHandle, obj.event_objectID if obj.event_objectID > 0 else obj.event_childID\r
+               info = obj.IAccessibleIdentity\r
+               if info:\r
+                       # Trust IAccIdentity over the event parameters.\r
+                       accId = info["objectID"]\r
+               else:\r
+                       accId = obj.event_objectID if obj.event_objectID > 0 else obj.event_childID\r
+               return obj.windowHandle, accId\r
 \r
        def _searchableAttribsForNodeType(self,nodeType):\r
                if nodeType=="formField":\r