Re: Threaded pygtk application hangs when accessibility is enabled
- From: James Tatum <jtatum gmail com>
- To: Joanmarie Diggs <joanmarie diggs gmail com>
- Cc: gnome-accessibility-list gnome org
- Subject: Re: Threaded pygtk application hangs when accessibility is enabled
- Date: Thu, 11 Feb 2010 08:54:37 -0500
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 diggs 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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]