Ticket #30 (closed defect: fixed)
Freeze in Add or Remove Programs in Windows XP
| Reported by: | jteh | Owned by: | |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | Core | Version: | trunk |
| Keywords: | Cc: | ||
| Blocking: | Blocked By: |
Description
NVDA freezes when a user selects Change or Remove for some programs in the Add or Remove Programs control panel applet in Windows XP.
Steps to reproduce
- Go to the Add or Remove Programs applet in Control Panel.
- Cursor to an arbitrary item in the list. Note that this does not happen for all applications. The issue can be reproduced with 7-Zip.
- Tab to the Remove button and activate it.
Results
NVDA freezes. Apparently, in earlier versions (not sure how long ago), NVDA did freeze, but alt+tabbing seemed to bring it back to life. This is no longer the case.
Other notes
- This does not happen with JAWS or System Access, but it does happen with Narrator.
- I think this did happen with JAWS a while back, but am uncertain.
- Commonality: I think JAWS and System Access both work in-process.
- I think this did happen with JAWS a while back, but am uncertain.
- The problem appears to be that when the application to change/remove the program is launched, the Add or Remoe Programs applet blocks.
- Subsequently, any out-of-process accessibility requests (and probably all window messages) block. This is the cause of the freeze.
Potential solutions
- Somehow lose all references to IAccessible objects in this applet once the button is pressed.
- Avoiding access to any objects in the applet should hopefully prevent the freeze.
- Unfortunately, i have no idea how to do this, particularly if we want to cover all cases: user pressing space, enter, activating with the navigator, mouse, etc. How do we know when the button has been pressed?
- Avoiding access to any objects in the applet should hopefully prevent the freeze.
Change History
Note: See
TracTickets for help on using
tickets.

NVDA is supported by