rem: if ( !ev ) return TRUE;
add: if ( !ev ) return FALSE;
context: gboolean clique_champ_formulaire_echeancier ( GtkWidget *entree,					      GdkEventButton *ev,					      gint *no_origine ){  GtkWidget *popup_cal;  /* on rend sensitif tout ce qui ne l'tait pas sur le formulaire */  degrise_formulaire_echeancier ();  /* si l'entre de la date et grise, on met la date courante */  if ( gtk_widget_get_style ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] ) == style_entree_formulaire[ENGRIS] )    {      entree_prend_focus ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] );      gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_echeancier[SCHEDULER_FORM_DATE] ),			   gsb_today() );      /* si le click est sur l'entre de la date,         on la slectionne et elle prend le focus */      if ( !no_origine )	{	  if ( ev )	    gtk_signal_emit_stop_by_name ( GTK_OBJECT ( entree ),					   "button-press-event");	  gtk_entry_select_region ( GTK_ENTRY ( entree ),				    0,				    -1);	  gtk_widget_grab_focus ( GTK_WIDGET ( entree ));	}    }  /* si ev est null ( cd que a ne vient pas d'un click mais appel par ex      la fin de fin_edition ), on se barre */  if ( !ev )    return TRUE;  /* numration suivant l'entre o on clique */  switch ( GPOINTER_TO_INT ( no_origine ) )    {    case SCHEDULER_FORM_DATE :    case SCHEDULER_FORM_FINAL_DATE :      /* click sur l'entre de la date ou date limite */      /* si double click, on popup le calendrier */      if ( ev -> type == GDK_2BUTTON_PRESS )	{	 gtk_signal_emit_stop_by_name ( GTK_OBJECT ( entree ),					"button-press-event");	 popup_cal = gsb_calendar_new ( entree );	 gtk_signal_connect_object ( GTK_OBJECT ( popup_cal ),				     "destroy",				     GTK_SIGNAL_FUNC ( ferme_calendrier ),				     GTK_OBJECT ( entree ) );	 gtk_widget_grab_focus ( GTK_WIDGET ( popup_cal ) );	}      break;    default :          break;    }  return FALSE;}