add: if ( !NOM_DU_COMPTE || strcmp ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_nom_compte ))), NOM_DU_COMPTE ) ) { NOM_DU_COMPTE = g_strdup ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_nom_compte ))));  reaffiche_liste_comptes (); reaffiche_liste_comptes_onglet (); update_liste_comptes_accueil (); remplissage_liste_echeance (); update_liste_echeances_manuelles_accueil (); mise_a_jour_soldes_minimaux(); mise_a_jour_fin_comptes_passifs(); mise_a_jour_categ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( widget_formulaire_echeancier[5] ), creation_option_menu_comptes () );  remplissage_liste_comptes_etats (); selectionne_liste_comptes_etat_courant ();  p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet; }
context: void modification_details_compte ( void ){  /* vrification que le compte a un nom */  if ( !strlen ( gtk_entry_get_text ( GTK_ENTRY ( detail_nom_compte ))) )    {      dialogue ( _("Le compte n'a pas de nom !") );      return;    }  p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;  /* rcupration du titulaire */  TITULAIRE = g_strdup ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_titulaire_compte ))));  if ( !strlen ( TITULAIRE ))    TITULAIRE = NULL;  /* vrification du nom du compte */  if ( !NOM_DU_COMPTE       ||       strcmp ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_nom_compte ))),		NOM_DU_COMPTE ) )    {      NOM_DU_COMPTE = g_strdup ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_nom_compte ))));      reaffiche_liste_comptes ();      reaffiche_liste_comptes_onglet ();      update_liste_comptes_accueil ();      remplissage_liste_echeance ();      update_liste_echeances_manuelles_accueil ();      mise_a_jour_soldes_minimaux();      mise_a_jour_fin_comptes_passifs();      mise_a_jour_categ();      gtk_option_menu_set_menu ( GTK_OPTION_MENU ( widget_formulaire_echeancier[5] ),				 creation_option_menu_comptes () );      remplissage_liste_comptes_etats ();      selectionne_liste_comptes_etat_courant ();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;    }  /* vrification du type de compte */  if ( GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( detail_type_compte ) -> menu_item ),					       "no_type_compte" ))       !=       TYPE_DE_COMPTE )    {      TYPE_DE_COMPTE = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( detail_type_compte ) -> menu_item ),							       "no_type_compte" ));      mise_a_jour_fin_comptes_passifs();      mise_a_jour_soldes_minimaux();      formulaire_a_zero();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;          }  /* vrification de la devise */  if ( DEVISE != GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( detail_devise_compte ) -> menu_item ),							 "no_devise" )) )    {      struct struct_devise *nouvelle_devise;      GSList *pointeur_liste;      gfloat value;      if ( !devise_compte	   ||	   devise_compte -> no_devise != DEVISE )	devise_compte = g_slist_find_custom ( liste_struct_devises,					      GINT_TO_POINTER ( DEVISE ),					      ( GCompareFunc ) recherche_devise_par_no ) -> data;      nouvelle_devise = gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( detail_devise_compte ) -> menu_item ),					      "adr_devise" );      if ( devise_compte -> passage_euro && !nouvelle_devise -> passage_euro )	{	  GtkWidget *dialogue;	  GtkWidget *label;	  gint resultat;	  dialogue = gnome_dialog_new ( _("Confirmation de changement de devise"),					GNOME_STOCK_BUTTON_YES,					GNOME_STOCK_BUTTON_NO,					NULL );	  label = gtk_label_new ( g_strdup_printf ( _("Attention, vous passez d'une devise qui passera  l'euro (%s)\n une qui n'y passera pas (%s). Les paiements en euro du compte seront perdus !\n\nConfirmez vous le changement ?"), 						    devise_compte -> nom_devise,						    nouvelle_devise -> nom_devise));	  gtk_box_pack_start ( GTK_BOX ( GNOME_DIALOG ( dialogue ) -> vbox ),			       label,			       FALSE,			       FALSE,			       0 );	  gtk_widget_show ( label );	  resultat = gnome_dialog_run_and_close ( GNOME_DIALOG ( dialogue ));	  if ( resultat )	    return;	  else 	    gtk_widget_hide ( bouton_passage_euro );	}      if ( nouvelle_devise -> passage_euro )	gtk_widget_show ( bouton_passage_euro );      pointeur_liste = LISTE_OPERATIONS;      while ( pointeur_liste )	{	  struct structure_operation *operation;	  operation = pointeur_liste -> data;	  if ( operation -> devise == DEVISE )	    operation -> devise = nouvelle_devise -> no_devise;	  else	    if ( !nouvelle_devise -> passage_euro )	      operation -> devise = nouvelle_devise -> no_devise;	  pointeur_liste = pointeur_liste -> next;	}      DEVISE = nouvelle_devise -> no_devise;      value = gtk_clist_get_vadjustment ( GTK_CLIST ( CLIST_OPERATIONS )) -> value;      remplissage_liste_operations ( compte_courant );      gtk_clist_get_vadjustment ( GTK_CLIST ( CLIST_OPERATIONS )) -> value = value;      update_liste_comptes_accueil ();      update_liste_echeances_manuelles_accueil ();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;    }/* rcupration de l'adr du titulaire */  if ( !gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( detail_bouton_adresse_commune )))    {      ADRESSE_TITULAIRE = g_strdup ( g_strstrip ( gtk_editable_get_chars (GTK_EDITABLE ( detail_adresse_titulaire ),									  0,									  -1 )));      if ( strlen ( ADRESSE_TITULAIRE ))	{	  ADRESSE_TITULAIRE = g_strdelimit ( ADRESSE_TITULAIRE,				       "{",				       '(' );	  ADRESSE_TITULAIRE = g_strdelimit ( ADRESSE_TITULAIRE,				       "}",				       ')' );	}      else	ADRESSE_TITULAIRE = NULL;    }  else    ADRESSE_TITULAIRE = NULL;/* enregistrement de l'tablissement financier */  BANQUE = GPOINTER_TO_INT ( gtk_object_get_data ( GTK_OBJECT ( GTK_OPTION_MENU ( detail_option_menu_banque ) -> menu_item ),						   "no_banque" ));/* enregistrement du no de guichet */  NO_GUICHET = g_strdup ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_guichet ))));  if ( !strlen ( NO_GUICHET ))    NO_GUICHET = NULL;/* enregistrement du no de compte */  NO_COMPTE_BANQUE = g_strdup ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_no_compte ))));  if ( !strlen ( NO_COMPTE_BANQUE ))    NO_COMPTE_BANQUE = NULL;/* enregistrement de la cl du compte */  CLE_COMPTE = g_strdup ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_cle_compte ))));  if ( !strlen ( CLE_COMPTE ))    CLE_COMPTE = NULL;/* enregistrement du compte clotur */  if ( COMPTE_CLOTURE != gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( detail_compte_cloture )))    {      COMPTE_CLOTURE = gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( detail_compte_cloture ));      reaffiche_liste_comptes ();      update_liste_comptes_accueil ();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;    }/* vrification du solde initial */  if ( SOLDE_INIT != g_strtod ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_solde_init ))),				NULL ) )    {      gint value;      SOLDE_INIT = g_strtod ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_solde_init ))),			      NULL );      value = gtk_clist_get_vadjustment ( GTK_CLIST ( CLIST_OPERATIONS )) -> value;      remplissage_liste_operations ( compte_courant );      gtk_clist_get_vadjustment ( GTK_CLIST ( CLIST_OPERATIONS )) -> value = value;      update_liste_comptes_accueil ();      mise_a_jour_soldes_minimaux();      mise_a_jour_fin_comptes_passifs();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;    }/* vrification du solde mini autoris */  if ( SOLDE_MINI != g_strtod ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_solde_mini_autorise ))),				NULL ) )    {      SOLDE_MINI = g_strtod ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_solde_mini_autorise ))),			      NULL );      MESSAGE_SOUS_MINI = 0;       mise_a_jour_soldes_minimaux();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;   }/* vrification du solde mini voulu */  if ( SOLDE_MINI_VOULU != g_strtod ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_solde_mini_voulu ))),				NULL ) )    {      SOLDE_MINI_VOULU = g_strtod ( g_strstrip ( gtk_entry_get_text ( GTK_ENTRY ( detail_solde_mini_voulu ))),			      NULL );      MESSAGE_SOUS_MINI_VOULU = 0;       mise_a_jour_soldes_minimaux();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte + compte_courant_onglet;    }/* rcupration du texte */  COMMENTAIRE = g_strdup ( g_strstrip ( gtk_editable_get_chars (GTK_EDITABLE ( detail_commentaire ),								0,								-1 )));  if ( strlen ( COMMENTAIRE ))    {      COMMENTAIRE = g_strdelimit ( COMMENTAIRE,				   "{",				   '(' );      COMMENTAIRE = g_strdelimit ( COMMENTAIRE,				   "}",				   ')' );    }  else    COMMENTAIRE = NULL;  gtk_widget_set_sensitive ( hbox_boutons_modif,			     FALSE );  modification_fichier ( TRUE );}