Tim Janik wrote:
Rationale: the idle loop may be far away in time.that is easily fixed. if the current code just queues an ordinary idle handler, and you notice that's too late, it can be queued at priority G_PRIORITY_DEFAULT, which results in the handler be called round-robin with event handling. or, if that may still be too late, you can enqueue it with priority G_PRIORITY_HIGH, which will allmost always execute your handler right after the current main loop call stack has returned.
Just to make sure it doesn't get forgotten: http://bugzilla.gnome.org/show_bug.cgi?id=348289 . Best regards, Yevgen