[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: progress bar not updating in gtk+-2.14.5
- From: Larry Reaves <larry yrral net>
- To: Chisheng Huang <cph chi-square-works com>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: progress bar not updating in gtk+-2.14.5
- Date: Tue, 23 Dec 2008 16:50:50 -0500
It works here with the latest Ubuntu (gtk+ 2.14.4), so if it is a
regression, it was introduced in 2.14.5. (Or Ubuntu has a patch that
covers it up.) A quick glance at the changelog for 2.14.5 didn't show
anything obvious to me, but I'm far from an expert.
Chisheng:
Try a gtk_widget_queue_draw(GTK_WIDGET(pbar)) after your call to
set_fraction and see if that helps. Also, I'm assuming your callback is
working properly (you see the numbers scrolling in the console).
-Larry
On Tue, 2008-12-23 at 12:24 -0800, Chisheng Huang wrote:
> Hi,
>
> The attached code will pop up a window with a progress bar in it.
> The fill fraction goes from 0.0 to 1.0 gradually and is reset to 0.0
> when it's bigger than 1.0. With GTK+ 2.12.10, the appearance of the
> progress bar is constantly updated. However, with GTK+ 2.14.5, the
> progress bar always remains empty. Is this change of updating behaviour
> from 2.12.10 to 2.14.5 a bug or an intended feature? If it's a feature,
> what extra functions do I have to call to make a progess bar update?
>
> Best wishes,
>
> -cph
>
> --------------------------------- cut ---------------------------------
> #include <gtk/gtk.h>
>
> static void destroy( GtkWidget *widget,
> gpointer timeout)
> {
> g_source_remove (GPOINTER_TO_UINT (timeout));
> gtk_main_quit ();
> }
>
> static gboolean
> update_pbar (GtkProgressBar *pbar)
> {
> gdouble frac = gtk_progress_bar_get_fraction (pbar) + 0.01;
> if (frac > 1.0)
> frac = 0.0;
> g_print ("%f\n", frac);
> gtk_progress_bar_set_fraction (pbar, frac);
> return TRUE;
> }
>
> int main( int argc,
> char *argv[] )
> {
> GtkWidget *window;
> GtkWidget *pbar;
> guint timeout_id;
>
> gtk_init (&argc, &argv);
>
> window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
> g_signal_connect (G_OBJECT (window), "destroy",
> G_CALLBACK (destroy), &timeout_id);
> gtk_container_set_border_width (GTK_CONTAINER (window), 10);
>
> pbar = gtk_progress_bar_new ();
> timeout_id = g_timeout_add (100, (GSourceFunc) update_pbar, pbar);
> gtk_container_add (GTK_CONTAINER (window), pbar);
>
> gtk_widget_show (pbar);
> gtk_widget_show (window);
> gtk_main ();
>
> return 0;
> }
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]