On Thu, Sep 21, 2006 at 11:53:44PM +0000, DC A wrote: > > for(gflt=0; gflt <=1; ) > { > gtk_progress_bar_update((GtkProgressBar*)pbar, gflt); > > while(gtk_events_pending()) > gtk_main_iteration(); > > gflt += 0.1; > sleep(1); > > if( gflt > 1) break; > } > > > Why use while loop for event pendings? You can clearly see that there is > only one event pending which is gtk_progress_bar_update. gtk_progress_bar_update() is no event, it is GtkProgressBar method telling it to update. Events are coming from the X server (and possibly other sources). You need the loop even if you do not update anything, because users can move, resize and focus windows, make them invisible and visible again, click on things, press keys, etc. All these actions generate events that have to be handled. And if your code did not give Gtk+ the opportunity to process them, the GUI would freeze. The reaction to some events may cause more events to occur. Of course, if you tested gtk_events_pending() and called gtk_main_iteration() often enough, Gtk+ would catch up eventually, but the while loop is better. Yeti -- Anonyms eat their boogers. _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list