2008/1/22 <[EMAIL PROTECTED]>: [...] > > Pseudo code for my call back function [for some button which will initiate > action] is as follows: > > /***************CALL BACK FUNCTION CODE SNIPPET ***********************/ > g_timeout_add(1500,progress_timeout,progressbarwidget); > > f1();//THE BIG FUNCTION WHICH WILL RUN CLOSE TO A FEW HOURS > > while (gtk_events_pending ()) > { > g_print("[.]"); > gtk_main_iteration (); > }//THIS SO THAT THE TIME OUT FUNCTION WILL BE ABLE TO CALL ITSELF > > /****************END CALL BACK FUNCTION CODE > SNIPPET**********************/
Gtk+ runs in a single thread, you must return to the mainloop that you are running (in gtk_main()) in order for your callbacks to be called. If you dont want to split up f1(); into iterations and run those short iterations from a timeout function, then you might consider using GThread. You can also use the old hack: ==================== while (gtk_events_pending ()) gtk_main_iteration (); ==================== to run the mainloop recursively so to speak, but if you never call gtk_main_iteration() until you are finished f1(); then you are not pushing progress bars. Cheers, -Tristan _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list