[Nvda-dev] commit r1897 - in trunk: . source

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Nvda-dev] commit r1897 - in trunk: . source

NVDA Subversion
Author: jteh
Date: Thu Apr 10 00:14:47 2008
New Revision: 1897

Log:
It is possible that the window handle of a menuEnd event will be invalid by the time NVDA processes it. Therefore, fire the menuEnd event on the desktop object if the window handle is invalid, similar to the way we handle switchEnd. This fixes the issue where the focus is not correctly restored when leaving context menus in foobar2000.

Modified:
   trunk/   (props changed)
   trunk/source/IAccessibleHandler.py

Modified: trunk/source/IAccessibleHandler.py
==============================================================================
--- trunk/source/IAccessibleHandler.py (original)
+++ trunk/source/IAccessibleHandler.py Thu Apr 10 00:14:47 2008
@@ -664,9 +664,10 @@
  if eventName=="destroy":
  return
  #Ignore events with invalid window handles
- if not window or eventName == "switchEnd":
+ isWindow = winUser.isWindow(window)
+ if not window or eventName == "switchEnd" or (not isWindow and eventName == "menuEnd"):
  window=winUser.getDesktopWindow()
- elif not winUser.isWindow(window):
+ elif not isWindow:
  return
  windowClassName=winUser.getClassName(window)
  controlID=winUser.getControlID(window)