rem: gtk_signal_connect_object ( GTK_OBJECT ( entree_date_init_etat ), "focus_out_event", GTK_SIGNAL_FUNC ( format_date ), GTK_OBJECT ( entree_date_init_etat ));
add: gtk_signal_connect ( GTK_OBJECT ( entree_date_init_etat ), "focus_out_event", GTK_SIGNAL_FUNC ( sortie_entree_date_etat ), NULL );
context: GtkWidget *onglet_etat_dates ( void ){    GtkWidget *widget_retour;    GtkWidget *separateur;    GtkWidget *vbox;    GtkWidget *scrolled_window;    gchar **plages_dates;    gint i;    GtkWidget *hbox;    GtkWidget *label;    GtkWidget *frame;    GtkWidget *hbox_onglet;    widget_retour = gtk_scrolled_window_new ( FALSE,					      FALSE );    gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( widget_retour ),				     GTK_POLICY_AUTOMATIC,				     GTK_POLICY_AUTOMATIC );    gtk_widget_show ( widget_retour );    hbox_onglet = gtk_hbox_new ( FALSE,				 5 );    gtk_container_set_border_width ( GTK_CONTAINER ( hbox_onglet ),				     10 );    gtk_scrolled_window_add_with_viewport ( GTK_SCROLLED_WINDOW ( widget_retour ),					    hbox_onglet );    gtk_widget_show ( hbox_onglet );    /* mise en place de la plage de dates */    vbox = gtk_vbox_new ( FALSE,			  5 );    gtk_box_pack_start ( GTK_BOX ( hbox_onglet ),			 vbox,			 TRUE,			 TRUE,			 0 );    gtk_widget_show ( vbox );    radio_button_utilise_dates = gtk_radio_button_new_with_label ( NULL,								   _("Use dates ranges") );    gtk_box_pack_start ( GTK_BOX ( vbox ),			 radio_button_utilise_dates,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( radio_button_utilise_dates );    /* on met en dessous une liste avec les plages de date proposes */    frame = gtk_frame_new (NULL);    gtk_box_pack_start ( GTK_BOX ( vbox ),			 frame,			 TRUE,			 TRUE,			 0 );    gtk_widget_show ( frame );    vbox_utilisation_date = gtk_vbox_new ( FALSE,					   5 );    gtk_container_set_border_width ( GTK_CONTAINER ( vbox_utilisation_date ),				     10 );    gtk_container_add ( GTK_CONTAINER ( frame ),			vbox_utilisation_date );    gtk_widget_show ( vbox_utilisation_date );    /* on met la connection pour rendre sensitif cette frame */    gtk_signal_connect ( GTK_OBJECT ( radio_button_utilise_dates ),			 "toggled",			 GTK_SIGNAL_FUNC ( sens_desensitive_pointeur ),			 vbox_utilisation_date );    scrolled_window = gtk_scrolled_window_new ( FALSE,						FALSE );    gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),				     GTK_POLICY_AUTOMATIC,				     GTK_POLICY_AUTOMATIC );    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_date ),			 scrolled_window,			 TRUE,			 TRUE,			 0 );    gtk_widget_show ( scrolled_window );    liste_plages_dates_etat = gtk_clist_new ( 1 );    gtk_clist_set_column_auto_resize ( GTK_CLIST ( liste_plages_dates_etat ),				       0,				       TRUE );    gtk_signal_connect ( GTK_OBJECT ( liste_plages_dates_etat ),			 "button_press_event",			 GTK_SIGNAL_FUNC ( click_liste_etat ),			 NULL );    gtk_container_add ( GTK_CONTAINER ( scrolled_window ),			liste_plages_dates_etat );    gtk_widget_show ( liste_plages_dates_etat );    /* on remplit la liste des dates */    plages_dates = liste_plages_dates;    i = 0;    while ( plages_dates[i] )    {	gint ligne;	gchar * plage = _(plages_dates[i]);	ligne = gtk_clist_append ( GTK_CLIST ( liste_plages_dates_etat ),				   &plage );	i++;    }    /* sparation gauche-droite */    separateur = gtk_vseparator_new ();    gtk_box_pack_start ( GTK_BOX ( hbox_onglet ),			 separateur,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( separateur );    /*   on met en forme la partie de droite : utilisation des exercices */    vbox = gtk_vbox_new ( FALSE,			  5 );    gtk_box_pack_start ( GTK_BOX ( hbox_onglet ),			 vbox,			 TRUE,			 TRUE,			 0 );    gtk_widget_show ( vbox );    radio_button_utilise_exo = gtk_radio_button_new_with_label ( gtk_radio_button_group ( GTK_RADIO_BUTTON ( radio_button_utilise_dates )),								 _("Use financial years") );    gtk_box_pack_start ( GTK_BOX ( vbox ),			 radio_button_utilise_exo,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( radio_button_utilise_exo );    /* on met la liste des exos sous ce radio button */    frame = gtk_frame_new ( FALSE );    gtk_box_pack_start ( GTK_BOX ( vbox ),			 frame,			 TRUE,			 TRUE,			 0 );    gtk_widget_show ( frame );    /* on met la connection pour rendre sensitif cette frame */    gtk_signal_connect ( GTK_OBJECT (radio_button_utilise_exo ),			 "toggled",			 GTK_SIGNAL_FUNC ( sens_desensitive_pointeur ),			 frame );    vbox_utilisation_exo = gtk_vbox_new ( FALSE,					  5 );    gtk_container_set_border_width ( GTK_CONTAINER ( vbox_utilisation_exo ),				     10 );    gtk_container_add ( GTK_CONTAINER ( frame ),			vbox_utilisation_exo );    gtk_widget_show ( vbox_utilisation_exo );    /*   on met le dtail, exo courant ou prcdent */    bouton_exo_tous = gtk_radio_button_new_with_label ( NULL,							_("All financial years"));    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_exo ),			 bouton_exo_tous,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( bouton_exo_tous );    bouton_exo_courant = gtk_radio_button_new_with_label ( gtk_radio_button_group ( GTK_RADIO_BUTTON ( bouton_exo_tous )),							   _("Current financial year"));    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_exo ),			 bouton_exo_courant,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( bouton_exo_courant );    bouton_exo_precedent = gtk_radio_button_new_with_label ( gtk_radio_button_group ( GTK_RADIO_BUTTON ( bouton_exo_tous )),							     _("Former financial year"));    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_exo ),			 bouton_exo_precedent,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( bouton_exo_precedent );    bouton_detaille_exo_etat = gtk_radio_button_new_with_label ( gtk_radio_button_group ( GTK_RADIO_BUTTON ( bouton_exo_tous )),								 _("Detail financial years") );    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_exo ),			 bouton_detaille_exo_etat,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( bouton_detaille_exo_etat );    vbox_generale_exo_etat = gtk_vbox_new ( FALSE,					    5 );    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_exo ),			 vbox_generale_exo_etat,			 TRUE,			 TRUE,			 0 );    gtk_widget_show ( vbox_generale_exo_etat );    gtk_signal_connect ( GTK_OBJECT ( bouton_detaille_exo_etat ),			 "toggled",			 GTK_SIGNAL_FUNC ( sens_desensitive_pointeur ),			 vbox_generale_exo_etat );    scrolled_window = gtk_scrolled_window_new ( FALSE,						FALSE );    gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scrolled_window ),				     GTK_POLICY_AUTOMATIC,				     GTK_POLICY_AUTOMATIC );    gtk_box_pack_start ( GTK_BOX ( vbox_generale_exo_etat ),			 scrolled_window,			 TRUE,			 TRUE,			 0 );    gtk_widget_show ( scrolled_window );    liste_exo_etat = gtk_clist_new ( 1 );    gtk_clist_set_selection_mode ( GTK_CLIST ( liste_exo_etat ),				   GTK_SELECTION_MULTIPLE );    gtk_clist_set_column_auto_resize ( GTK_CLIST ( liste_exo_etat ),				       0,				       TRUE );    gtk_container_add ( GTK_CONTAINER ( scrolled_window ),			liste_exo_etat );    gtk_widget_show ( liste_exo_etat );    /* on remplit la liste des exercices */    remplissage_liste_exo_etats ();    /* on met ensuite la date perso de dbut */    hbox = gtk_hbox_new ( FALSE,			  5 );    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_date ),			 hbox,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( hbox );    label = gtk_label_new ( COLON(_("Initial date")) );    gtk_box_pack_start ( GTK_BOX ( hbox ),			 label,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( label );    entree_date_init_etat = gtk_entry_new_with_max_length ( 10 );    gtk_widget_set_usize ( entree_date_init_etat,			   100,			   FALSE );    gtk_signal_connect ( GTK_OBJECT ( entree_date_init_etat ),			 "button_press_event",			 GTK_SIGNAL_FUNC ( clique_sur_entree_date_etat ),			 NULL );    gtk_signal_connect ( GTK_OBJECT ( entree_date_init_etat ),			 "key_press_event",			 GTK_SIGNAL_FUNC ( pression_touche_date_etat ),			 NULL );    gtk_signal_connect_object ( GTK_OBJECT ( entree_date_init_etat ),				"focus_out_event",				GTK_SIGNAL_FUNC ( format_date ),				GTK_OBJECT ( entree_date_init_etat ));    gtk_box_pack_end ( GTK_BOX ( hbox ),		       entree_date_init_etat,		       FALSE,		       FALSE,		       0 );    gtk_widget_show ( entree_date_init_etat );    /* on met ensuite la date perso de fin */    hbox = gtk_hbox_new ( FALSE,			  5 );    gtk_box_pack_start ( GTK_BOX ( vbox_utilisation_date ),			 hbox,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( hbox );    label = gtk_label_new ( COLON(_("Final date")) );    gtk_box_pack_start ( GTK_BOX ( hbox ),			 label,			 FALSE,			 FALSE,			 0 );    gtk_widget_show ( label );    entree_date_finale_etat = gtk_entry_new_with_max_length ( 10 );    gtk_widget_set_usize ( entree_date_finale_etat,			   100,			   FALSE );    gtk_signal_connect ( GTK_OBJECT ( entree_date_finale_etat ),			 "button_press_event",			 GTK_SIGNAL_FUNC ( clique_sur_entree_date_etat ),			 NULL );    gtk_signal_connect ( GTK_OBJECT ( entree_date_finale_etat ),			 "key_press_event",			 GTK_SIGNAL_FUNC ( pression_touche_date_etat ),			 NULL );    gtk_signal_connect_object ( GTK_OBJECT ( entree_date_finale_etat ),				"focus_out_event",				GTK_SIGNAL_FUNC ( format_date ),				GTK_OBJECT ( entree_date_finale_etat ));    gtk_box_pack_end ( GTK_BOX ( hbox ),		       entree_date_finale_etat,		       FALSE,		       FALSE,		       0 );    gtk_widget_show ( entree_date_finale_etat );    return ( widget_retour );}