async_task_progressbar hangs with accessibility enabled
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Quickly Widgets |
Fix Released
|
High
|
James Tatum |
Bug Description
Ubuntu 10.04 fully updated with the latest branch of lp:quidgets
With accessibility enabled, there is a nasty hang in async_task_
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=9, events=
read(5, "A", 1) = 1
read(4, 0x9d168d0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=9, events=
futex(0x9d78378, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
read(14, 0xbfff6c6f, 1) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x9dc5cc0, FUTEX_WAIT_PRIVATE, 2, NULL
To reproduce:
1. System > Preferences > Assistive Technologies
2. Check "Enable assistive technologies"
3. Close and Log Out
For testing purposes, the following can be added to a pygtk app to opt the app out of AT. This is a workaround for the hang but obviously not a solution:
# this has to happen before importing any GTK modules
import os
os.environ[
os.environ[
os.environ[
Related branches
- Rick Spencer: Approve
-
Diff: 123 lines (+36/-2)1 file modifiedquickly/widgets/asynch_task_progressbox.py (+36/-2)
Changed in quidgets: | |
status: | In Progress → Incomplete |
The helpful folks on the gnome-accessibility mailing list found the cause. The kill() method calls set_sensitive on the button without entering threading. I updated my branch to add this, and another spot where threading needs to be invoked.