add: else { return FALSE; }
context: gboolean touches_champ_formulaire ( GtkWidget *widget,				    GdkEventKey *ev,				    gint *no_origine ){  gint origine;  GtkWidget *popup_cal;  origine = GPOINTER_TO_INT ( no_origine );  /* si etat.entree = 1, la touche entre finit l'opration ( fonction par dfaut ) */  /* sinon elle fait comme tab */  if ( !etat.entree && ( ev -> keyval == GDK_Return || ev -> keyval == GDK_KP_Enter ))    ev->keyval = GDK_Tab ;  switch ( ev -> keyval )    {    case GDK_Escape :		/* chap */      p_tab_nom_de_compte_variable = p_tab_nom_de_compte_courant;      gtk_widget_grab_focus ( CLIST_OPERATIONS );      echap_formulaire();      break;    case GDK_Tab :		/* tabulation */      /* une tabulation passe au widget affich suivant */      /* et retourne  la date ou enregistre l'op s'il est  la fin */      gtk_signal_emit_stop_by_name ( GTK_OBJECT ( widget ),				     "key-press-event");      /* on efface la slection en cours si c'est une entre ou un combofix */      if ( GTK_IS_ENTRY ( widget ))	gtk_entry_select_region ( GTK_ENTRY ( widget ), 0, 0);      else	if ( GTK_IS_COMBOFIX ( widget ))	  gtk_entry_select_region ( GTK_ENTRY ( GTK_COMBOFIX ( widget ) -> entry ), 0, 0);      /* on fait perdre le focus au widget courant pour faire les changements automatiques si ncessaire */      p_tab_nom_de_compte_variable = p_tab_nom_de_compte_courant;      gtk_widget_grab_focus ( CLIST_OPERATIONS );      /* on donne le focus au widget suivant */      origine = ( origine + 1 ) % ( TRANSACTION_FORM_WIDGET_NB -1 );      while ( !( GTK_WIDGET_VISIBLE ( widget_formulaire_operations[origine] ) &&		 GTK_WIDGET_SENSITIVE ( widget_formulaire_operations[origine] ) &&		 ( GTK_IS_COMBOFIX ( widget_formulaire_operations[origine] ) ||		   GTK_IS_ENTRY ( widget_formulaire_operations[origine] ) ||		   GTK_IS_BUTTON ( widget_formulaire_operations[origine] ) )))	origine = ( origine + 1 ) % ( TRANSACTION_FORM_WIDGET_NB -1 );      /* si on se retrouve sur la date et que etat.entree = 0, on enregistre l'opration */      if ( origine == TRANSACTION_FORM_DATE && !etat.entree )	{	  fin_edition();	  return TRUE;	}      /* si le prochain est le dbit, on vrifie s'il n'y a rien dans cette         entre et s'il y a quelque chose dans l'entre du crdit */      if ( origine == TRANSACTION_FORM_DEBIT )	{	  /* si le dbit est gris et le crdit est noir, on met sur le crdit */	  if ( gtk_widget_get_style ( widget_formulaire_operations[TRANSACTION_FORM_DEBIT] ) == style_entree_formulaire[ENGRIS] &&	       gtk_widget_get_style ( widget_formulaire_operations[TRANSACTION_FORM_CREDIT] ) == style_entree_formulaire[ENCLAIR] )	    origine = TRANSACTION_FORM_CREDIT;	}      /* si le prochain est le crdit et que le dbit a t rempli,         on se met sur la devise et on efface le crdit */      if ( origine == TRANSACTION_FORM_CREDIT )	if ( gtk_widget_get_style ( widget_formulaire_operations[TRANSACTION_FORM_DEBIT] ) == style_entree_formulaire[ENCLAIR] &&	     strlen(gtk_entry_get_text(GTK_ENTRY( widget_formulaire_operations[TRANSACTION_FORM_DEBIT] ))))	  {	    origine = TRANSACTION_FORM_DEVISE;	    gtk_widget_set_style ( widget_formulaire_operations[TRANSACTION_FORM_CREDIT],				  style_entree_formulaire[ENGRIS] );	    gtk_entry_set_text ( GTK_ENTRY ( widget_formulaire_operations[TRANSACTION_FORM_CREDIT] ),				 _("Credit") );	  }      /* on slectionne le contenu de la nouvelle entre */      if ( GTK_IS_COMBOFIX ( widget_formulaire_operations[origine] ) )	{	  gtk_widget_grab_focus ( GTK_COMBOFIX ( widget_formulaire_operations[origine] ) -> entry );	  gtk_entry_select_region ( GTK_ENTRY ( GTK_COMBOFIX ( widget_formulaire_operations[origine] ) -> entry ), 0, -1 );	}      else	{	  if ( GTK_IS_ENTRY ( widget_formulaire_operations[origine] ) )	    gtk_entry_select_region ( GTK_ENTRY ( widget_formulaire_operations[origine] ), 0, -1 );	  gtk_widget_grab_focus ( widget_formulaire_operations[origine]  );	}      break;    case GDK_KP_Enter :		/* touches entre */    case GDK_Return :/*       gtk_signal_emit_stop_by_name ( GTK_OBJECT ( widget ),				     "key-press-event");*/      /* si la touche CTRL est elle aussi active, alors c'est que l'on est         probablement sur un champ de date et que l'on souhaite ouvrir	 un calendrier */      if ( ( ev -> state & GDK_CONTROL_MASK ) == GDK_CONTROL_MASK )	{	 switch ( origine )	   {	    case TRANSACTION_FORM_DATE :	    case TRANSACTION_FORM_VALUE_DATE :	      popup_cal = gsb_calendar_new ( GTK_WIDGET ( GTK_ENTRY ( widget_formulaire_operations[origine] ) ) );	      gtk_widget_grab_focus ( GTK_WIDGET ( popup_cal ) );	      break ;	    default :	      break ;	   }	}      /* si la touche CTRL n'est pas active, alors on valide simplement         la saisie de l'opration */      else        {	 p_tab_nom_de_compte_variable = p_tab_nom_de_compte_courant;	 gtk_widget_grab_focus ( CLIST_OPERATIONS );	 fin_edition();	}      break;    case GDK_KP_Add:		/* touches + */    case GDK_plus:      /* si on est dans une entree de date, on augmente d'un jour         (d'une semaine) la date */      /* GDC : prise en compte de la date relle (18) FinGDC */      if ( origine == TRANSACTION_FORM_DATE ||           origine == TRANSACTION_FORM_VALUE_DATE )	{/*	  gtk_signal_emit_stop_by_name ( GTK_OBJECT ( widget ),					 "key-press-event");*/	  if ( ( ev -> state & GDK_SHIFT_MASK ) != GDK_SHIFT_MASK )	    inc_dec_date ( widget_formulaire_operations[origine], ONE_DAY );	  else	    inc_dec_date ( widget_formulaire_operations[origine], ONE_WEEK );	  return TRUE;	}      else if ( origine == TRANSACTION_FORM_CHEQUE )	/* Voucher number */	{	  increment_decrement_champ ( widget_formulaire_operations[origine], 1 );	  return TRUE;	}      break;    case GDK_KP_Subtract:		/* touches - */    case GDK_minus:      /* si on est dans une entree de date, on diminue d'un jour (d'une semaine) la date */      /* GDC : prise en compte de la date relle (18) FinGDC */      if ( origine == TRANSACTION_FORM_DATE ||           origine == TRANSACTION_FORM_VALUE_DATE )	{/*	  gtk_signal_emit_stop_by_name ( GTK_OBJECT ( widget ),					 "key-press-event");*/	  if ( ( ev -> state & GDK_SHIFT_MASK ) != GDK_SHIFT_MASK )	    inc_dec_date ( widget_formulaire_operations[origine], - ONE_DAY );	  else	    inc_dec_date ( widget_formulaire_operations[origine], - ONE_WEEK );	  return TRUE;	}      else if ( origine == TRANSACTION_FORM_CHEQUE )	/* Voucher number */	{	  increment_decrement_champ ( widget_formulaire_operations[origine], -1 );	  return TRUE;	}      break;    case GDK_Page_Up :		/* touche PgUp */    case GDK_KP_Page_Up :      /* si on est dans une entree de date, on augmente d'un mois (d'un an) la date */      /* GDC : prise en compte de la date relle (18) FinGDC */      if ( origine == TRANSACTION_FORM_DATE ||           origine == TRANSACTION_FORM_VALUE_DATE )	{	  gtk_signal_emit_stop_by_name ( GTK_OBJECT ( widget ),					 "key-press-event");	  if ( ( ev -> state & GDK_SHIFT_MASK ) != GDK_SHIFT_MASK )	    inc_dec_date ( widget_formulaire_operations[origine], ONE_MONTH );	  else	    inc_dec_date ( widget_formulaire_operations[origine], ONE_YEAR );	  return TRUE;	}      break;    case GDK_Page_Down :		/* touche PgDown */    case GDK_KP_Page_Down :      /* si on est dans une entree de date, on augmente d'un mois (d'un an) la date */      /* GDC : prise en compte de la date relle (18) FinGDC */      if ( origine == TRANSACTION_FORM_DATE ||           origine == TRANSACTION_FORM_VALUE_DATE )	{	  gtk_signal_emit_stop_by_name ( GTK_OBJECT ( widget ),					 "key-press-event");	  if ( ( ev -> state & GDK_SHIFT_MASK ) != GDK_SHIFT_MASK )	    inc_dec_date ( widget_formulaire_operations[origine], - ONE_MONTH );	  else	    inc_dec_date ( widget_formulaire_operations[origine], - ONE_YEAR );	  return TRUE;	}      break;    default:      /* Reverting to default handler */      return FALSE;      break;    }  return TRUE;}