Ho scritto un semplice programmino, dove premendo un pulsante, mi dovrebbe mostrare una finestra di dialogo.
Il problema è che quando premo il pulsante ho questo errore:

Program has been terminated receiving signal 11 (Segmentation fault)
Press the Enter key to close this terminal ...

Eco il codice del mio programma:

codice:
#include <gtk/gtk.h>

int i=0;


void button_on_click(GtkWidget widget, gpointer window)
{
    i++;
    GtkWidget  *dialog=gtk_message_dialog_new(window,GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"Sono %d volte che clicci!",i);
    gtk_window_set_title(GTK_WINDOW(dialog),"Informazione");
    gtk_dialog_run(GTK_DIALOG(dialog));
}


int main(int argc, char *argv[])
{
 GtkWidget *button;
GtkWidget *window;
 gtk_init (&argc, &argv);

 //creazione della finestra principale
 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 gtk_window_set_default_size (GTK_WINDOW(window), 250, 250);
 gtk_window_set_title (GTK_WINDOW(window), "Ciao Mondo delle Gtk+!");
 gtk_widget_show (window);

 //creazione del pulsante
 button=gtk_button_new_with_label("Cliccami");

 //aggiungere il pulsante alla finestra e mostrarlo
 gtk_container_add(GTK_CONTAINER(window),button);
 gtk_widget_show(button);

 //gestione dei segnali
 g_signal_connect(GTK_OBJECT(window),"delete event",G_CALLBACK(gtk_main_quit),NULL);
 g_signal_connect(GTK_OBJECT(button),"clicked", G_CALLBACK(button_on_click),(gpointer)window);

 gtk_main ();
 return 0;
}