VirtualBox

16 年 前 建立

8 年 前 結束

#3588 closed defect (obsolete)

WindowFromAccessibleObject() fails for VirtualBox IAccessible objects

回報者: James Teh 負責人:
元件: GUI 版本: VirtualBox 2.1.4
關鍵字: accessibility IAccessible 副本:
Guest type: other Host type: Windows

描述 (由 aeichner 作最後更新)

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.

更動歷史 (5)

comment:1 16 年 前James Teh 編輯

Ack. The ! shouldn't be at the start of the summary - I forgot Trac doesn't do wiki formatting for ticket summaries. :(

comment:2 16 年 前Frank Mehnert 編輯

摘要: !WindowFromAccessibleObject() fails for VirtualBox IAccessible objectsWindowFromAccessibleObject() fails for VirtualBox IAccessible objects

comment:3 16 年 前James Teh 編輯

This issue causes NVDA's navigation to related objects (parents, children and sibblings) to fail. This results in many problems with VirtualBox and NVDA, such as ignored focus events for list/tree controls (see comment:ticket:3590:1), inability to read captions in dialogs and broken object navigation commands. We could try to make NVDA more tolerant when a window handle cannot be retrieved, but this causes comparison problems and means that information such as process ID and window class name cannot be retrieved, which is why we do not currently allow this.

comment:4 14 年 前James Teh 編輯

This now seems to work for *some* accessible objects, but still not all. It works for lists, trees, toolbars, etc. However, it still fails for the outer UI (the application object, panes, etc.)

comment:5 8 年 前aeichner 編輯

描述: 修改 (差異)
狀態: newclosed
處理結果: obsolete

Please reopen if still relevant with a recent VirtualBox release.

注意: 瀏覽 TracTickets 來幫助您使用待辦事項功能

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette