add: g_signal_connect ( GTK_WIDGET(list_button), "destroy", G_CALLBACK ( gtk_list_button_destroy ), NULL );
context: static void gtk_list_button_init ( GtkListButton *list_button ){  list_button -> hbox = gtk_hbox_new ( FALSE, 6 );  list_button -> closed_icon = gtk_image_new_from_stock ( GNOME_STOCK_BOOK_RED, 							  GTK_ICON_SIZE_BUTTON );  list_button -> box = gtk_vbox_new ( FALSE, 0 );  gtk_box_pack_start ( GTK_BOX ( list_button -> hbox ), list_button -> box,		       FALSE, FALSE, 0 );  gtk_container_add ( GTK_CONTAINER(list_button -> box), list_button->closed_icon);  list_button -> open_icon = gtk_image_new_from_stock ( GNOME_STOCK_BOOK_OPEN, 							GTK_ICON_SIZE_BUTTON );  list_button -> label = gtk_label_new ("") ;  gtk_label_set_line_wrap ( GTK_LABEL(list_button->label), TRUE );  gtk_box_pack_start ( GTK_BOX(list_button -> hbox), list_button -> label,		       FALSE, FALSE, 0 );  gtk_container_add ( GTK_CONTAINER(list_button), list_button -> hbox );  gtk_button_set_relief ( GTK_BUTTON (list_button), GTK_RELIEF_NONE );  g_signal_connect ( GTK_BUTTON(list_button), "clicked", 		     G_CALLBACK ( gtk_list_button_clicked ), NULL );  gtk_widget_show ( list_button -> hbox );  gtk_widget_show ( list_button -> box );  gtk_widget_show ( list_button -> closed_icon );  gtk_widget_show ( list_button -> label );}