Hi Joanie, Aha! You spotted it. That was one of two places where UI code was not wrapped in threads_enter()/threads_leave(). Yes, the UI is being updated outside the main thread, but according to what I've read[1], so long as any code that updates the UI is wrapped in threads_enter() or threads_leave() it will work. Of course, depending on the project that might be a lot of code to wrap. Perhaps in this case using idle_add() to have the main thread do all the GUI updating work is the better solution.
Anyway, I'm glad that this was just my mistake rather than an actual accessibility problem. :) Thanks to all for your time. On Wed, Feb 10, 2010 at 8:02 PM, Joanmarie Diggs <joanmarie.di...@gmail.com> wrote: > Hi James. > > My expertise in threads is almost exclusively being on the receiving end > of a hang due to this sort of thing, and filing a bug to get someone > like you to fix it. ;-) > > Having said that.... I *think* you might be modifying the GUI outside of > the main thread when you set the cancel button's state to insensitive in > kill(). > > If I do this: > > gobject.idle_add(self.cancel_button.set_sensitive, False) > > I'm able to set the button's state without a hang. > > Does this help? > --joanie _______________________________________________ gnome-accessibility-list mailing list gnome-accessibility-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list