On Wed, 12 Mar 2003, Christian Reis wrote: > On Wed, Mar 12, 2003 at 08:35:36AM -0600, Jon Nelson wrote: > > > > > This seems really silly. > > > > > If you're gonna f up events_pending in this way, then that means you are > > > > > not going to ever pump the gtk event queue. If you really don't need to > > > > > call mainiteration, then why don't you just remove the whole > > > > > while gtk.events_pending(): gtk.mainiteration nonsense. > > > > Yes. eventually the function do_real_work_with_data_read_from_file (I > > am getting tired of typing that) *does* call: > > Tip: use vim's ctrl-N feature, or emacs' related completion feature (I > just did do_<ctrl-N> and it became do_real_work_with_data_read_from_file). > > > while gtk.events_pending(): > > gtk.mainiteration() > > > > It's necessary for various reasons, not the least of which is a simple > > progress bar. > > Can't this while become: > > while self.check_events and gtk.events_pending(): > gtk.mainiteration() > > And we use the check_events flag like I described before?
yes it can, but it (essentially) does the exact same thing. I'll verify your soln. works, but it's essentially the same. What I'd *really* like is to find out if there is a way to accomplish what I'm trying to do here. The user-perceivable problem is that (assume do_real_work_with_data_read_from_file takes perhaps a minute), the application is "frozen" because mainiteration can't be called to update progress bars, show messages, update cursors, etc... Very annoying. Is there a better /high-level/ solution to this? Both of our solutions solve the discrete problem (mainiteration gets called in situations where it causes things to blow up), but the *real* bug is that it's not possible to tell gtk to *not* call your (idle/IO/timeout) function on-demand. Also, why doesn't gtk.input_remove(proper_args_here) work when called from the IO callback? -- "Never try to write to ROM - it wastes your time and annoys the ROM." Jon Nelson <[EMAIL PROTECTED]> C and Python Code Gardener _______________________________________________ pygtk mailing list [EMAIL PROTECTED] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
