Changeset 2317
- Timestamp:
- 07/29/08 01:51:08 (4 months ago)
- Files:
-
- 1 modified
-
trunk/source/JABHandler.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/JABHandler.py
r2314 r2317 22 22 vmIDsToWindowHandles={} 23 23 internalFunctionQueue=Queue.Queue(1000) 24 internalFunctionQueue.__name__="JABHandler.internalFunctionQueue" 25 lastFocusNVDAObject=None 24 26 25 27 def internalQueueFunction(func,*args,**kwargs): … … 261 263 262 264 def event_gainFocus(vmID,accContext): 265 global lastFocusNVDAObject 263 266 jabContext=JABContext(vmID=vmID,accContext=accContext) 264 267 if not winUser.isDescendantWindow(winUser.getForegroundWindow(),jabContext.hwnd): 265 268 return 266 269 focus=api.getFocusObject() 267 if isinstance(focus,NVDAObjects.JAB.JAB) and focus.jabContext==jabContext:270 if (isinstance(focus,NVDAObjects.JAB.JAB) and focus.jabContext==jabContext) or (lastFocusNVDAObject and lastFocusNVDAObject.jabContext==jabContext): 268 271 return 269 272 obj=NVDAObjects.JAB.JAB(jabContext=jabContext) 273 if obj.role==controlTypes.ROLE_UNKNOWN: 274 return 270 275 eventHandler.queueEvent("gainFocus",obj) 276 lastFocusNVDAObject=obj 271 277 activeChild=obj.activeChild 272 if activeChild :278 if activeChild and activeChild.role!=controlTypes.ROLE_UNKNOWN and activeChild.jabContext!=jabContext: 273 279 eventHandler.queueEvent("gainFocus",activeChild) 280 lastFocusNVDAObject=activeChild 274 281 275 282 @CFUNCTYPE(c_voidp,c_int,c_int,c_int,c_int,c_int)

NVDA is supported by