rem: if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat ))))
add: if ( strlen ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat )))
context: void recuperation_info_perso_etat ( void ){    GList *pointeur_liste;    gchar *pointeur_char;    gint i;    struct struct_comparaison_montants_etat *comp_montants;    struct struct_comparaison_textes_etat *comp_textes;    /* vrification que les dates init et finales sont correctes */    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat ))))	 &&	 !format_date ( entree_date_init_etat ))    {	dialogue ( _("Invalid custom initial date") );	return;    }    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_finale_etat ))))	 &&	 !format_date ( entree_date_finale_etat ))    {	dialogue ( _("Invalid custom final date") );	return;    }    /* on rcupre maintenant toutes les donnes */    /* rcupration du nom du rapport */    pointeur_char = g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_nom_etat )));    if ( strlen ( pointeur_char )	 &&	 strcmp ( pointeur_char,		  etat_courant -> nom_etat ))    {	etat_courant -> nom_etat = g_strdup ( pointeur_char );	gtk_label_set_text ( GTK_LABEL ( label_etat_courant ),			     etat_courant -> nom_etat );	/* on raffiche la liste des tats */	remplissage_liste_etats ();    }    /* rcupration du type de classement */    g_list_free ( etat_courant -> type_classement );    etat_courant -> type_classement = NULL;    for ( i=0 ; i<GTK_CLIST ( liste_type_classement_etat ) -> rows ; i++ )    {	gint no;	no = GPOINTER_TO_INT ( gtk_ctree_node_get_row_data ( GTK_CTREE ( liste_type_classement_etat ),							     gtk_ctree_node_nth ( GTK_CTREE ( liste_type_classement_etat ),										  i )));	etat_courant -> type_classement = g_list_append ( etat_courant -> type_classement,							  GINT_TO_POINTER ( no ));	/* rajoute les ss categ et ss ib */	if ( no == 1 )	    etat_courant -> type_classement = g_list_append ( etat_courant -> type_classement,							      GINT_TO_POINTER ( 2 ));	if ( no == 3 )	    etat_courant -> type_classement = g_list_append ( etat_courant -> type_classement,							      GINT_TO_POINTER ( 4 ));    }    /* rcupration de l'affichage ou non des R */    if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_opes_r_et_non_r_etat )) )	etat_courant -> afficher_r = 0;    else    {	if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_opes_non_r_etat )) )	    etat_courant -> afficher_r = 1;	else	    etat_courant -> afficher_r = 2;    }    /* rcupration de l'affichage des ops */    etat_courant -> afficher_opes = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_opes ));    etat_courant -> afficher_nb_opes = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_nb_opes ));    etat_courant -> afficher_no_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_no_ope ));    etat_courant -> afficher_date_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_date_opes ));    etat_courant -> afficher_tiers_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_tiers_opes ));    etat_courant -> afficher_categ_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_categ_opes ));    etat_courant -> afficher_sous_categ_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_sous_categ_opes ));    etat_courant -> afficher_type_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_type_ope ));    etat_courant -> afficher_ib_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_ib_opes ));    etat_courant -> afficher_sous_ib_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_sous_ib_opes ));    etat_courant -> afficher_cheque_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_no_cheque ));    etat_courant -> afficher_notes_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_notes_opes ));    etat_courant -> afficher_pc_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_pc_opes ));    etat_courant -> afficher_rappr_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_no_rappr ));    etat_courant -> afficher_infobd_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_infobd_opes ));    etat_courant -> pas_detailler_ventilation = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_pas_detailler_ventilation ));    etat_courant -> separer_revenus_depenses = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_separer_revenus_depenses ));    etat_courant -> afficher_exo_ope = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_exo_opes ));    etat_courant -> afficher_titre_colonnes = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_titres_colonnes ));    etat_courant -> type_affichage_titres = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_titre_changement ));    etat_courant -> type_classement_ope = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_choix_classement_ope_etat ) -> menu_item ),										  "no_classement" ));    etat_courant -> ope_clickables = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_rendre_ope_clickables ));    etat_courant -> devise_de_calcul_general = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_devise_general_etat ) -> menu_item ),										       "no_devise" ));    etat_courant -> inclure_dans_tiers = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_inclure_dans_tiers ));    /* rcupration des dates */    etat_courant -> exo_date = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( radio_button_utilise_exo ));    if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_exo_tous )) )	etat_courant -> utilise_detail_exo = 0;    else    {	if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_exo_courant )) )	    etat_courant -> utilise_detail_exo = 1;	else	{	    if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_exo_precedent )) )		etat_courant -> utilise_detail_exo = 2;	    else		etat_courant -> utilise_detail_exo = 3;	}    }    if ( etat_courant -> no_exercices )    {	g_slist_free ( etat_courant -> no_exercices );	etat_courant -> no_exercices = NULL;    }    pointeur_liste = GTK_CLIST ( liste_exo_etat ) -> selection;    while ( pointeur_liste )    {	etat_courant -> no_exercices = g_slist_append ( etat_courant -> no_exercices,							gtk_clist_get_row_data ( GTK_CLIST ( liste_exo_etat ),										 GPOINTER_TO_INT ( pointeur_liste -> data )));	pointeur_liste = pointeur_liste -> next;    }    /*   si tous les exos ont t slectionns, on met bouton_detaille_exo_etat  0 (plus rapide) */    if ( ( g_list_length ( GTK_CLIST ( liste_exo_etat ) -> selection )	   ==	   GTK_CLIST ( liste_exo_etat ) -> rows )	 &&	 etat_courant -> utilise_detail_exo == 3 )    {	dialogue ( _("All the financial years have been selected. Grisbi will run faster\nwithout the \"Detail financial years\" option") );	etat_courant -> utilise_detail_exo = FALSE;    }    etat_courant -> separation_par_exo = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_separe_exo_etat ));    etat_courant -> no_plage_date = GPOINTER_TO_INT ( GTK_CLIST ( liste_plages_dates_etat ) -> selection -> data );    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat ))))	 &&	 format_date ( entree_date_init_etat ))    {	gint jour, mois, annee;	sscanf ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat ))),		 "%d/%d/%d",		 &jour,		 &mois,		 &annee );	etat_courant -> date_perso_debut = g_date_new_dmy ( jour,							    mois,							    annee );    }    if ( strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_finale_etat ))))	 &&	 format_date ( entree_date_finale_etat ))    {	gint jour, mois, annee;	sscanf ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( entree_date_finale_etat ))),		 "%d/%d/%d",		 &jour,		 &mois,		 &annee );	etat_courant -> date_perso_fin = g_date_new_dmy ( jour,							  mois,							  annee );    }    etat_courant -> separation_par_plage = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_separe_plages_etat ));    etat_courant -> type_separation_plage = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_type_separe_plages_etat ) -> menu_item ),										    "type" ));    etat_courant -> jour_debut_semaine = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_debut_semaine ) -> menu_item ),										 "jour" ));    /* rcupration des comptes */    etat_courant -> utilise_detail_comptes = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_detaille_comptes_etat ));    if ( etat_courant -> no_comptes )    {	g_slist_free ( etat_courant -> no_comptes );	etat_courant -> no_comptes = NULL;    }    pointeur_liste = GTK_CLIST ( liste_comptes_etat ) -> selection;    while ( pointeur_liste )    {	etat_courant -> no_comptes = g_slist_append ( etat_courant -> no_comptes,						      gtk_clist_get_row_data ( GTK_CLIST ( liste_comptes_etat ),									       GPOINTER_TO_INT ( pointeur_liste -> data )));	pointeur_liste = pointeur_liste -> next;    }    /*   si tous les comptes ont t slectionns, on met utilise_detail_comptes  0 (plus rapide) */    if ( ( g_list_length ( GTK_CLIST ( liste_comptes_etat ) -> selection )	   ==	   GTK_CLIST ( liste_comptes_etat ) -> rows )	 &&	 etat_courant -> utilise_detail_comptes )    {	dialogue ( _("All the accounts have been selected. Grisbi will run faster\nwithout the \"Detail accounts used\" option") );	etat_courant -> utilise_detail_comptes = FALSE;    }    etat_courant -> regroupe_ope_par_compte = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_regroupe_ope_compte_etat ));    etat_courant -> affiche_sous_total_compte = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_affiche_sous_total_compte ));    etat_courant -> afficher_nom_compte = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_noms_comptes ));    /* rcupration des virements */    if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_inclusion_virements_actifs_etat )))	etat_courant -> type_virement = 1;    else	if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_inclusion_virements_hors_etat )))	    etat_courant -> type_virement = 2;	else	{	    if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_non_inclusion_virements )))		etat_courant -> type_virement = 0;	    else		etat_courant -> type_virement = 3;	}    if ( etat_courant -> no_comptes_virements )    {	g_slist_free ( etat_courant -> no_comptes_virements );	etat_courant -> no_comptes_virements = NULL;    }    pointeur_liste = GTK_CLIST ( liste_comptes_virements ) -> selection;    while ( pointeur_liste )    {	etat_courant -> no_comptes_virements = g_slist_append ( etat_courant -> no_comptes_virements,								gtk_clist_get_row_data ( GTK_CLIST ( liste_comptes_virements ),											 GPOINTER_TO_INT ( pointeur_liste -> data )));	pointeur_liste = pointeur_liste -> next;    }    etat_courant -> exclure_ope_non_virement = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_exclure_non_virements_etat ));    /*   rcupration des catgories */    etat_courant -> utilise_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_utilise_categ_etat ));    etat_courant -> utilise_detail_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_detaille_categ_etat ));    if ( etat_courant -> no_categ )    {	g_slist_free ( etat_courant -> no_categ );	etat_courant -> no_categ = NULL;    }    pointeur_liste = GTK_CLIST ( liste_categ_etat ) -> selection;    while ( pointeur_liste )    {	etat_courant -> no_categ = g_slist_append ( etat_courant -> no_categ,						    gtk_clist_get_row_data ( GTK_CLIST ( liste_categ_etat ),									     GPOINTER_TO_INT ( pointeur_liste -> data )));	pointeur_liste = pointeur_liste -> next;    }    /*   si tous les categ ont t slectionns, on met utilise_detail_categ  0 (plus rapide) */    if ( ( g_list_length ( GTK_CLIST ( liste_categ_etat ) -> selection )	   ==	   GTK_CLIST ( liste_categ_etat ) -> rows )	 &&	 etat_courant -> utilise_detail_categ )    {	dialogue ( _("All the categories have been selected. Grisbi will run faster\nwithout  the \"Detail categories used \" option") );	etat_courant -> utilise_detail_categ = FALSE;    }    etat_courant -> exclure_ope_sans_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_exclure_ope_sans_categ ));    etat_courant -> affiche_sous_total_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_affiche_sous_total_categ ));    etat_courant -> afficher_sous_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_sous_categ ));    etat_courant -> affiche_sous_total_sous_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_affiche_sous_total_sous_categ ));    etat_courant -> afficher_pas_de_sous_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_pas_de_sous_categ ));    etat_courant -> devise_de_calcul_categ = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_devise_categ_etat ) -> menu_item ),										     "no_devise" ));    etat_courant -> afficher_nom_categ = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_noms_categ ));    /*   rcupration des ib */    etat_courant -> utilise_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_utilise_ib_etat ));    etat_courant -> utilise_detail_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_detaille_ib_etat ));    if ( etat_courant -> no_ib )    {	g_slist_free ( etat_courant -> no_ib );	etat_courant -> no_ib = NULL;    }    pointeur_liste = GTK_CLIST ( liste_ib_etat ) -> selection;    while ( pointeur_liste )    {	etat_courant -> no_ib = g_slist_append ( etat_courant -> no_ib,						 gtk_clist_get_row_data ( GTK_CLIST ( liste_ib_etat ),									  GPOINTER_TO_INT ( pointeur_liste -> data )));	pointeur_liste = pointeur_liste -> next;    }    etat_courant -> afficher_sous_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_sous_ib ));    /*   si toutes les ib ont t slectionns, on met utilise_detail_ib  0 (plus rapide) */    if ( ( g_list_length ( GTK_CLIST ( liste_ib_etat ) -> selection )	   ==	   GTK_CLIST ( liste_ib_etat ) -> rows )	 &&	 etat_courant -> utilise_detail_ib )    {	dialogue ( _("All budgetary lines have been selected.  Grisbi will run faster\nwithout \"Detail the budgetary lines used\" option") );	etat_courant -> utilise_detail_ib = FALSE;    }    etat_courant -> exclure_ope_sans_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_exclure_ope_sans_ib ));    etat_courant -> affiche_sous_total_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_affiche_sous_total_ib ));    etat_courant -> affiche_sous_total_sous_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_affiche_sous_total_sous_ib ));    etat_courant -> afficher_pas_de_sous_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_pas_de_sous_ib ));    etat_courant -> devise_de_calcul_ib = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_devise_ib_etat ) -> menu_item ),										  "no_devise" ));    etat_courant -> afficher_nom_ib = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_noms_ib ));    /*   rcupration des tiers */    etat_courant -> utilise_tiers = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_utilise_tiers_etat ));    etat_courant -> utilise_detail_tiers = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_detaille_tiers_etat ));    if ( etat_courant -> no_tiers )    {	g_slist_free ( etat_courant -> no_tiers );	etat_courant -> no_tiers = NULL;    }    pointeur_liste = GTK_CLIST ( liste_tiers_etat ) -> selection;    while ( pointeur_liste )    {	etat_courant -> no_tiers = g_slist_append ( etat_courant -> no_tiers,						    gtk_clist_get_row_data ( GTK_CLIST ( liste_tiers_etat ),									     GPOINTER_TO_INT ( pointeur_liste -> data )));	pointeur_liste = pointeur_liste -> next;    }    /*   si tous les tiers ont t slectionns, on met utilise_detail_tiers  0 (plus rapide) */    if ( ( g_list_length ( GTK_CLIST ( liste_tiers_etat ) -> selection )	   ==	   GTK_CLIST ( liste_tiers_etat ) -> rows )	 &&	 etat_courant -> utilise_detail_tiers )    {	dialogue ( _("All the third parts have been selected. Grisbi will run faster\nwithout the \"Detail the third parties\" option") );	etat_courant -> utilise_detail_tiers = FALSE;    }    etat_courant -> affiche_sous_total_tiers = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_affiche_sous_total_tiers ));    etat_courant -> devise_de_calcul_tiers = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_devise_tiers_etat ) -> menu_item ),										     "no_devise" ));    etat_courant -> afficher_nom_tiers = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_noms_tiers ));    /* rcupration du texte */    etat_courant -> utilise_texte = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_utilise_texte ));    /* rcupration de la liste des comparaisons de texte */    /*   il y a au moins une structure de cre, si celle si a l'entre txt et 2 montants vides, */    /* c'est qu'il n'y a aucune liste */    comp_textes = etat_courant -> liste_struct_comparaison_textes -> data;    if ( g_slist_length ( etat_courant -> liste_struct_comparaison_textes ) == 1	 &&	 !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_txt ))))	 &&	 !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_montant_1 ))))	 &&	 !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_montant_2 ))))	 &&	 GTK_WIDGET_SENSITIVE ( comp_textes -> entree_montant_1 )	 &&	 GTK_WIDGET_SENSITIVE ( comp_textes -> entree_montant_2 ))    {	g_slist_free ( etat_courant -> liste_struct_comparaison_textes );	etat_courant -> liste_struct_comparaison_textes = NULL;    }    else    {	/* on a rentr au moins une comparaison */	/* on rempli les champs de la structure */	GSList *liste_tmp;	liste_tmp = etat_courant -> liste_struct_comparaison_textes;	while ( liste_tmp )	{	    comp_textes = liste_tmp -> data;	    if ( comp_textes -> bouton_lien )		comp_textes -> lien_struct_precedente = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_textes -> bouton_lien ) -> menu_item ),												"no_lien" ));	    else		comp_textes -> lien_struct_precedente = -1;	    comp_textes -> champ = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_textes -> bouton_champ ) -> menu_item ),									   "no_champ" ));	    comp_textes -> utilise_txt = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( comp_textes -> bouton_utilise_txt ));	    comp_textes -> operateur = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_textes -> bouton_operateur ) -> menu_item ),									       "no_operateur" ));	    comp_textes -> texte = g_strstrip ( g_strdup ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_txt ))));	    if ( !strlen ( comp_textes -> texte ))		comp_textes -> texte = NULL;	    comp_textes -> comparateur_1 = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_textes -> bouton_comparateur_1 ) -> menu_item ),										   "no_comparateur" ));	    comp_textes -> lien_1_2 = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_textes -> bouton_lien_1_2 ) -> menu_item ),									      "no_lien" ));	    comp_textes -> comparateur_2 = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_textes -> bouton_comparateur_2 ) -> menu_item ),										   "no_comparateur" ));	    comp_textes -> montant_1 = atoi ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_montant_1 )));	    comp_textes -> montant_2 = atoi ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_montant_2 )));	    liste_tmp = liste_tmp -> next;	}    }    /* rcupration du montant */    etat_courant -> utilise_montant = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_utilise_montant ));    etat_courant -> choix_devise_montant = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_devise_montant_etat ) -> menu_item ),										   "no_devise" ));    /* rcupration de la liste des comparaisons de montant */    /*   il y a au moins une structure de cre, si celle si a les 2 montants vides, */    /* c'est qu'il n'y a aucune liste */    comp_montants = etat_courant -> liste_struct_comparaison_montants -> data;    if ( g_slist_length ( etat_courant -> liste_struct_comparaison_montants ) == 1	 &&	 !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_montants -> entree_montant_1 ))))	 &&	 !strlen ( g_strstrip ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_montants -> entree_montant_2 ))))	 &&	 GTK_WIDGET_SENSITIVE ( comp_montants -> entree_montant_1 )	 &&	 GTK_WIDGET_SENSITIVE ( comp_montants -> entree_montant_2 ))    {	g_slist_free ( etat_courant -> liste_struct_comparaison_montants );	etat_courant -> liste_struct_comparaison_montants = NULL;    }    else    {	/* on a rentr au moins une comparaison */	/* on rempli les champs de la structure */	GSList *liste_tmp;	liste_tmp = etat_courant -> liste_struct_comparaison_montants;	while ( liste_tmp )	{	    comp_montants = liste_tmp -> data;	    if ( comp_montants -> bouton_lien )		comp_montants -> lien_struct_precedente = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_montants -> bouton_lien ) -> menu_item ),												  "no_lien" ));	    else		comp_montants -> lien_struct_precedente = -1;	    comp_montants -> comparateur_1 = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_montants -> bouton_comparateur_1 ) -> menu_item ),										     "no_comparateur" ));	    comp_montants -> lien_1_2 = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_montants -> bouton_lien_1_2 ) -> menu_item ),										"no_lien" ));	    comp_montants -> comparateur_2 = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( comp_montants -> bouton_comparateur_2 ) -> menu_item ),										     "no_comparateur" ));	    comp_montants -> montant_1 = my_strtod ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_montants -> entree_montant_1 )),						     NULL );	    comp_montants -> montant_2 = my_strtod ( (gchar *) gtk_entry_get_text ( GTK_ENTRY ( comp_montants -> entree_montant_2 )),						     NULL );	    liste_tmp = liste_tmp -> next;	}    }    etat_courant -> exclure_montants_nuls = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_exclure_ope_nulles_etat ));    /* rcupration des modes de paiement */    etat_courant -> utilise_mode_paiement = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( bouton_detaille_mode_paiement_etat ));    if ( etat_courant -> noms_modes_paiement )    {	g_slist_free ( etat_courant -> noms_modes_paiement );	etat_courant -> noms_modes_paiement = NULL;    }    pointeur_liste = GTK_CLIST ( liste_mode_paiement_etat ) -> selection;    while ( pointeur_liste )    {	etat_courant -> noms_modes_paiement = g_slist_append ( etat_courant -> noms_modes_paiement,							       gtk_clist_get_row_data ( GTK_CLIST ( liste_mode_paiement_etat ),											GPOINTER_TO_INT ( pointeur_liste -> data )));	pointeur_liste = pointeur_liste -> next;    }    /*   si tous les modes de paiement ont t slectionns, on met utilise_mode_paiement  0 (plus rapide) */    if ( ( g_list_length ( GTK_CLIST ( liste_mode_paiement_etat ) -> selection )	   ==	   GTK_CLIST ( liste_mode_paiement_etat ) -> rows )	 &&	 etat_courant -> utilise_mode_paiement )    {	dialogue ( _("All methods of payment have been selected. Grisbi will run faster without the \"Select the transactions based on payment method\" option") );	etat_courant -> utilise_mode_paiement = FALSE;    }    modification_fichier ( TRUE );    /* on fait une mise  jour des tiers pour afficher l'tat dans la liste des tiers si ncessaire */    mise_a_jour_tiers ();    /* on raffiche l'tat */    rafraichissement_etat ( etat_courant );    /* on repasse  la 1re page du notebook */    gtk_notebook_set_page ( GTK_NOTEBOOK ( notebook_etats ),			    0 );    gtk_widget_set_sensitive ( frame_liste_etats,			       TRUE );}