On Fri, 2 Mar 2012, Gaetano Guerriero wrote:

this code leaks memory on Windows XP until the program crashes after some
minutes [...]

Well, using GTK 2.24.9 on Linux the program runs cleanly (no leaks) as verified by valgrind, after a minor modification to make it close down properly when the main window is destroyed. (Modified code attached.)

--
Allin Cottrell
Department of Economics
Wake Forest University, NC
#include <gtk/gtk.h>

static gboolean progressbar_pulse (gpointer data) 
{
    gtk_progress_bar_pulse(GTK_PROGRESS_BAR(data));
    return TRUE;
}

static gboolean stop (GtkWidget *w, gpointer data)
{
    guint tag = *(guint *) data;
    g_source_remove(tag);
    gtk_main_quit();
    return FALSE;
}

int main (int argc, char *argv[]) 
{
    GtkWidget *window, *progressbar;
    guint tag;

    gtk_init(&argc, &argv);
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    progressbar = gtk_progress_bar_new();
    gtk_container_add(GTK_CONTAINER(window), progressbar);
    gtk_widget_show_all(window);
    tag = g_timeout_add(50, progressbar_pulse, progressbar);
    g_signal_connect(window, "destroy", G_CALLBACK(stop), &tag);
    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

Reply via email to