Re: gtktreeview.c assertion failed

Dave Howorth wrote:
So I started simplifying my Perl program and made the problem go away :)
It disappeared when I removed this line from inside a callback:

  Gtk2->main_iteration while Gtk2->events_pending;

The line was there (buried inside method calls) through historical
accident and the program still works without it, which is good news.

I'm curious whether this is something that is forbidden or should work
though? I couldn't see anything relevant in a quick scan of the gtk and
glib docs, except for statements that main loops can be nested.

It's not forbidden, but is undesirable.  What that line does is drain the
event queue, as though you'd run a recursive main loop.  This normally
shouldn't be a problem, but can make your program messy in that you can have
events occur when you don't expect them.

For example, since you mention this, i expect that you wound up consuming the
drop event with the events-pending loop before returning to the scope that was
expecting to get that event.

muppet <scott at asofyet dot org>

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]