rem: pango_desc_fonte_liste = pango_font_description_from_string (g_key_file_get_string ( config, "General", "Font name", NULL ));
add: font_string = g_key_file_get_string ( config, "General", "Font name", NULL ); if ( font_string ) pango_desc_fonte_liste = pango_font_description_from_string ( font_string );
context: gboolean gsb_file_config_load_config ( void ){    GKeyFile *config;    gboolean result;    gchar *filename;    gint i;        gsb_file_config_clean_config ();    filename = g_strconcat ( my_get_grisbirc_dir(), C_GRISBIRC, NULL );    config = g_key_file_new ();        result = g_key_file_load_from_file ( config,					 filename,					 G_KEY_FILE_KEEP_COMMENTS,					 NULL );        /* if key_file couldn't load the conf, it's because it's the last     * conf (xml) or no conf... try the xml conf */        if (!result)    {	result = gsb_file_config_load_last_xml_config (filename);	g_free (filename);	g_key_file_free (config);	return FALSE;    }    /* get the geometry */    largeur_window = g_key_file_get_integer ( config,					      "Geometry",					      "Width",					      NULL );    hauteur_window = g_key_file_get_integer ( config,					      "Geometry",					      "Height",					      NULL );    /* get general */    etat.r_modifiable = g_key_file_get_integer ( config,						 "General",						 "Can modify R",						 NULL );    dernier_chemin_de_travail = g_key_file_get_string ( config,							"General",							"Path",							NULL );    etat.alerte_permission = g_key_file_get_integer ( config,						      "General",						      "Show permission alert",						      NULL );    etat.entree = g_key_file_get_integer ( config,					   "General",					   "Function of entry",					   NULL );    etat.alerte_mini = g_key_file_get_integer ( config,						"General",						"Show alert messages",						NULL );    etat.utilise_fonte_listes = g_key_file_get_integer ( config,							 "General",							 "Use user font",							 NULL );    pango_desc_fonte_liste = pango_font_description_from_string (g_key_file_get_string ( config,											 "General",											 "Font name",											 NULL ));    etat.fichier_animation_attente = g_key_file_get_string ( config,							     "General",							     "Waiting animation",							     NULL );    etat.latex_command = g_key_file_get_string ( config,						 "General",						 "Latex command",						 NULL );    etat.dvips_command = g_key_file_get_string ( config,						 "General",						 "Dvips command",						 NULL );    etat.browser_command = my_strdelimit (g_key_file_get_string ( config,								  "General",								  "Web",								  NULL ),					  "\\e",					  "&" );    etat.largeur_colonne_comptes_operation = g_key_file_get_integer ( config,								      "General",								      "Panel width",								      NULL );    /* get input/output */    etat.dernier_fichier_auto = g_key_file_get_integer ( config,							 "IO",							 "Load last file",							 NULL );    nom_fichier_comptes = g_key_file_get_string ( config,						  "IO",						  "Name last file",						  NULL );    etat.sauvegarde_auto = g_key_file_get_integer ( config,						    "IO",						    "Save at closing",						    NULL );    etat.sauvegarde_demarrage = g_key_file_get_integer ( config,							 "IO",							 "Save at opening",							 NULL );    nb_max_derniers_fichiers_ouverts = g_key_file_get_integer ( config,								"IO",								"Nb last opened files",								NULL );    etat.compress_file = g_key_file_get_integer ( config,						  "IO",						  "Compress file",						  NULL );    etat.compress_backup = g_key_file_get_integer ( config,						    "IO",						    "Compress backup",						    NULL );    etat.force_enregistrement = g_key_file_get_integer ( config,							 "IO",							 "Force saving",							 NULL );    etat.crypt_file = g_key_file_get_integer ( config,					       "IO",					       "Crypt file",					       NULL );    tab_noms_derniers_fichiers_ouverts = g_key_file_get_string_list ( config,								      "IO",								      "Names last files",								      &nb_derniers_fichiers_ouverts,								      NULL );    /* get scheduled section */    nb_days_before_scheduled = g_key_file_get_integer ( config,							"Scheduled",							"Days before remind",							NULL );    /* get shown section */    etat.formulaire_toujours_affiche = g_key_file_get_integer ( config,								"Shown",								"Show transaction form",								NULL );    etat.formulaire_echeancier_toujours_affiche = g_key_file_get_integer ( config,									   "Shown",									   "Show sheduled form",									   NULL );    etat.classement_par_date = g_key_file_get_integer ( config,							"Shown",							"Order by date",							NULL );    etat.affiche_boutons_valider_annuler = g_key_file_get_integer ( config,								    "Shown",								    "Show valid_cancel buttons",								    NULL );    etat.largeur_auto_colonnes = g_key_file_get_integer ( config,							  "Shown",							  "Columns width auto",							  NULL );    *taille_largeur_colonnes = g_key_file_get_integer_list ( config,							    "Shown",							    "Column width",							    NULL,							    NULL );    etat.affichage_grille = g_key_file_get_integer ( config,						     "Shown",						     "Show grid",						     NULL );    etat.affichage_exercice_automatique = g_key_file_get_integer ( config,								   "Shown",								   "Show automatic financial year",								   NULL );    etat.display_toolbar = g_key_file_get_integer ( config,						    "Shown",						    "Show toolbar",						    NULL );    etat.show_closed_accounts = g_key_file_get_integer ( config,							 "Shown",							 "Show closed account",							 NULL );    /* FIXME : why use load_config_format ? external from here     * perhaps Joao wants to add something ? i let it for now */    load_config_format(config);    /* get messages */    for ( i = 0; messages[i].name; i ++ )    {	messages[i].hidden = g_key_file_get_integer ( config,						      "Messages",						      messages[i].name,						      NULL );    }    etat.last_tip = g_key_file_get_integer ( config,					     "Messages",					     "Last tip",					     NULL );    etat.show_tip = g_key_file_get_integer ( config,					     "Messages",					     "Show tip",					     NULL );    /* get printer config */    etat.print_config.printer = g_key_file_get_integer ( config,							 "Print config",							 "Printer",							 NULL );    etat.print_config.printer_name = g_key_file_get_string ( config,							     "Print config",							     "Printer name",							     NULL );    etat.print_config.printer_filename = g_key_file_get_string ( config,								 "Print config",								 "Printer filename",								 NULL );    etat.print_config.filetype = g_key_file_get_integer ( config,							  "Print config",							  "Filetype",							  NULL );    etat.print_config.orientation = g_key_file_get_integer ( config,							     "Print config",							     "Orientation",							     NULL );    /* get the paper config */    etat.print_config.paper_config.name = g_key_file_get_string ( config,								  "Paper config",								  "Name",								  NULL );    etat.print_config.paper_config.width = g_key_file_get_integer ( config,								    "Paper config",								    "Width",								    NULL );    etat.print_config.paper_config.height = g_key_file_get_integer ( config,								     "Paper config",								     "Height",								     NULL );    g_free (filename);    g_key_file_free (config);    return TRUE;}