rem: guint type;
add: gint type;
context: gboolean edit_category ( GtkTreeView * view ){    GtkWidget * dialog, *paddingbox, *table, *label, *entry, *hbox, *radiogroup;    GtkTreeSelection * selection;    GtkTreeModel * model;    GtkTreeIter iter;    gchar * title;    gint category_number = -1;    gint sub_category_number = -1;    /* fill category_number and sub_category_number */    selection = gtk_tree_view_get_selection ( view );    if ( selection && gtk_tree_selection_get_selected(selection, &model, &iter))    {	gtk_tree_model_get ( model, &iter, 			     META_TREE_NO_DIV_COLUMN, &category_number,			     META_TREE_NO_SUB_DIV_COLUMN, &sub_category_number,			     -1 );    }    if ( !selection || category_number <= 0 )	return FALSE;    if ( sub_category_number > 0 )	title = g_strdup_printf ( _("Properties for %s"), gsb_data_category_get_sub_category_name ( category_number,												    sub_category_number,												    _("No sub-category defined" )));    else	title = g_strdup_printf ( _("Properties for %s"), gsb_data_category_get_name ( category_number,										       0,										       _("No category defined") ));    dialog = gtk_dialog_new_with_buttons ( title, GTK_WINDOW (window), GTK_DIALOG_MODAL,					   GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL);    /* Ugly dance to avoid side effects on dialog's vbox. */    hbox = gtk_hbox_new ( FALSE, 0 );    gtk_box_pack_start ( GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, FALSE, 0 );    paddingbox = new_paddingbox_with_title ( hbox, TRUE, title );    gtk_container_set_border_width ( GTK_CONTAINER(hbox), 6 );    gtk_container_set_border_width ( GTK_CONTAINER(paddingbox), 6 );    table = gtk_table_new ( 0, 2, FALSE );    gtk_box_pack_start ( GTK_BOX ( paddingbox ), table, FALSE, FALSE, 6 );    gtk_table_set_col_spacings ( GTK_TABLE(table), 6 );    gtk_table_set_row_spacings ( GTK_TABLE(table), 6 );    /* Name entry */    label = gtk_label_new ( _("Name"));    gtk_misc_set_alignment ( GTK_MISC ( label ), 0.0, 0.5 );    gtk_table_attach ( GTK_TABLE(table), label, 0, 1, 0, 1,		       GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0 );    /* FIXME : should not work, replace new_text_entry ? */    if ( sub_category_number )    {	gchar *sub_category_name;	sub_category_name = gsb_data_category_get_sub_category_name ( category_number,								      sub_category_number,								      "" );	entry = new_text_entry ( &sub_category_name, NULL, NULL );    }    else    {	gchar *category_name;	category_name = gsb_data_category_get_name ( category_number,						     0,						     "" );	entry = new_text_entry ( &category_name, NULL, NULL );    }    gtk_widget_set_usize ( entry, 400, 0 );    gtk_table_attach ( GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_EXPAND|GTK_FILL, 0, 0, 0 );    if ( !sub_category_number )    {	guint type;	/* Description entry */	label = gtk_label_new ( _("Type"));	gtk_misc_set_alignment ( GTK_MISC ( label ), 0.0, 0.5 );	gtk_table_attach ( GTK_TABLE(table), label, 0, 1, 1, 2,			   GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0 );	/* FIXME : must use other than new_radiogroup because &gsb_data_category_get_type (category_number) don't compile */	type = gsb_data_category_get_type (category_number);	radiogroup = new_radiogroup ( _("Credit"), _("Debit"),				      &type,				      NULL );	gtk_table_attach ( GTK_TABLE(table), radiogroup, 			   1, 2, 1, 2, GTK_EXPAND|GTK_FILL, 0, 0, 0 );    }    gtk_widget_show_all ( dialog );    free ( title );    gtk_dialog_run ( GTK_DIALOG(dialog) );    gtk_widget_destroy ( dialog );    mise_a_jour_combofix_categ ();    if ( sub_category_number )    {	fill_sub_division_row ( model, category_interface,				get_iter_from_div ( model, category_number, sub_category_number ), 				gsb_data_category_get_structure ( category_number ),				gsb_data_category_get_sub_category_structure ( category_number,									       sub_category_number));    }    else    {	fill_division_row ( model, category_interface,			    get_iter_from_div ( model, category_number, -1 ),			    gsb_data_category_get_structure ( category_number ));    }    return TRUE;}