Ticket #3588 (new defect)
WindowFromAccessibleObject() fails for VirtualBox IAccessible objects
|Reported by:||jteh||Owned by:|
|Version:||VirtualBox 2.1.4||Keywords:||accessibility IAccessible|
WindowFromAccessibleObject() is used to retrieve the window handle (hwnd) of an IAccessible (MSAA) object. When calling WindowFromAccessibleObject() on any IAccessible object exposed by VirtualBox, an RPC_E_CANTCALLOUT_ININPUTSYNCCALL error is returned. The text of this error is: "An outgoing call cannot be made since the application is dispatching an input-synchronous call."
WindowFromAccessibleObject() uses the GetWindow() method of the IOleWindow interface. I suspect it is this that is failing. Note that this works fine in other QT4 applications such as Nokia PC Suite and Rockbox Utility, so this appears to be a peculiarity of VirtualBox.
NVDA needs to retrieve the window handle for any IAccessible object, as there is no unique identifier for IAccessible and we need some way of reasonably checking for equality between two objects.
- Summary changed from !WindowFromAccessibleObject() fails for VirtualBox IAccessible objects to WindowFromAccessibleObject() fails for VirtualBox IAccessible objects