rem: if ( strlen ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat ))))
add: if ( strlen ( g_strstrip ( (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 ( gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat ))))       &&       !modifie_date ( entree_date_init_etat ))    {      dialogue ( _("Invalid custom initial date") );      return;    }  if ( strlen ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( entree_date_finale_etat ))))       &&       !modifie_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 ( 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 ( gtk_entry_get_text ( GTK_ENTRY ( entree_date_init_etat ))))       &&       modifie_date ( entree_date_init_etat ))    {      gint jour, mois, annee;      sscanf ( g_strstrip ( 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 ( gtk_entry_get_text ( GTK_ENTRY ( entree_date_finale_etat ))))       &&       modifie_date ( entree_date_finale_etat ))    {      gint jour, mois, annee;      sscanf ( g_strstrip ( 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 ( gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_txt ))))       &&       !strlen ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_montant_1 ))))       &&       !strlen ( g_strstrip ( 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 ( 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 ( gtk_entry_get_text ( GTK_ENTRY ( comp_textes -> entree_montant_1 )));	  comp_textes -> montant_2 = atoi ( 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 ( gtk_entry_get_text ( GTK_ENTRY ( comp_montants -> entree_montant_1 ))))       &&       !strlen ( g_strstrip ( 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 = g_strtod ( gtk_entry_get_text ( GTK_ENTRY ( comp_montants -> entree_montant_1 )),						  NULL );	  comp_montants -> montant_2 = g_strtod ( 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 the mthods of payment have been selected. Grisbi will run faster\n 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 );}