Yep, this was the problem: gtk before 1.2.5 did not call threads_(leave/enter) in
gtk_main_iteration.
thanks,
- Scott
>
> There were some threading bugs in some early versions of gtk+
> (specifically with events_pending() and mainiteration()). You should
> really use gtk+ >= 1.2.4. I should have this check in the configure
> script.
>
> The other possible difference between the mandrake is if one was compiled
> with threading and the other wasn't.
>
> James.
>
> --
> Email: [EMAIL PROTECTED]
> WWW: http://www.daa.com.au/~james/
>
>
> On Sun, 27 Feb 2000, Scott Bender wrote:
>
> >
> > Yeah, this is a strange one. I have one linux box (Mandrake 7) which does not
>need the thread_enter/leave sutff,
> > and another (RedHat 6.0) that does need it. They're both running the same pygtk
>(0.6.3), but different versions of
> > gtk, the Madrake box has 1.2.6, the RedHat box has 1.2.1. I'm guessing that this
>is the reason.
> >
> > - Scott
> >
> > "Mitch Chapman" wrote:
> > >
> > > Here's an excerpt from a module of miscellaneous pygtk functions.
> > > It shows three platform-dependent implementations of an update()
> > > function. update() is used e.g. to update a progress bar
> > > in the middle of a time-consuming operation -- it's analogous to
> > > the Tkinter update() function.
> > >
> > > I haven't bothered looking at Gtk+ or pygtk sources in order to figure
> > > out why you need threads_(enter|leave) on Solaris but not on Linux.
> > > If somebody could explain the difference I'd be grateful.
> > >
> > > One last note: This code was tested w. pygtk 0.6.2, on all
> > > three platforms.
> > >
> > > --
> > > Mitch
> > > [EMAIL PROTECTED]
> >
> > >
> > > Mitch Chapman wrote:
> > > >
> > > > On Sat, 26 Feb 2000, Scott Bender wrote:
> > > > > Actually, the hang came after my timeout function completed. It was
>calling mainiteration(FALSE) to
> > > > > update a progress bar, which was causing the hang. Anyone know why?
> > > > >
> > > > > thanks,
> > > > > - Scott
> > > >
> > > > I've seen this recently. The behavior varies depending on what version
> > > > of Gtk+ you're running with, and on what operating system.
> > > >
> > > > The basic problem is that, on some platforms, even w. Gtk+ 1.2.6,
> > > > you need to surround calls to gtk.events_pending() and
> > > > gtk.mainiteration() with calls to gtk.threads_leave() and
> > > > gtk.threads_enter(). On others (e.g. Solaris) you *shouldn't* do so.
> > > To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]
> > >
> >
> > To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]
> >
>
> To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]
>
To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]