rem: if ( operation == GINT_TO_POINTER ( -1 ) )
add: if ( operation == GINT_TO_POINTER ( -1 ) || ! ligne_selectionnee_ventilation )
context: void supprime_operation_ventilation ( void ){  struct struct_ope_ventil *operation;  gint ligne;  operation = ligne_selectionnee_ventilation;  if ( operation == GINT_TO_POINTER ( -1 ) )    return;  /* si l'opration est releve ou si c'est un virement et que la contre opration est */  /*   releve, on ne peut la supprimer */  if ( operation -> pointe == 2 )    {      dialogue ( PRESPACIFY(_("This transaction has a reconciled breakdown line,\ndeletion canceled...")));      return;    }  else    {      if ( operation -> relation_no_operation	   &&	   operation -> relation_no_operation != -1 )	{	  /* on va chercher la contre opration */	  GSList *tmp;	  p_tab_nom_de_compte_variable = p_tab_nom_de_compte + operation -> relation_no_compte;	  tmp = g_slist_find_custom ( LISTE_OPERATIONS,				      GINT_TO_POINTER ( operation -> relation_no_operation ),				      (GCompareFunc) recherche_operation_par_no );	  if ( tmp )	    {	      struct structure_operation *operation_associee;	      operation_associee = tmp -> data;	      if ( operation_associee -> pointe == 2 )		{		  dialogue ( SPACIFY(_("This transfer has a reconciled contra-transaction,\ndeletion canceled...")));		  return;		}	    }	}    }  /* on marque cette opration comme supprime si ce n'est pas une nouvelle */  /* sinon on la supprime tout simplement de la liste */  if ( operation -> no_operation )    operation -> supprime = 1;  else    {      GSList *liste_struct_ventilations;      liste_struct_ventilations = gtk_object_get_data ( GTK_OBJECT ( formulaire ),							"liste_adr_ventilation" );      liste_struct_ventilations = g_slist_remove ( liste_struct_ventilations,						   operation );      gtk_object_set_data ( GTK_OBJECT ( formulaire ),			    "liste_adr_ventilation",			    liste_struct_ventilations );    }  /*   si la slection est sur l'op qu'on supprime, on met la slection sur celle du dessous */  ligne = gtk_clist_find_row_from_data ( GTK_CLIST ( liste_operations_ventilees ),					 operation );  ligne_selectionnee_ventilation = gtk_clist_get_row_data ( GTK_CLIST ( liste_operations_ventilees ),							    ligne + 1 );  /* supprime l'opration de la liste */  gtk_clist_remove ( GTK_CLIST ( liste_operations_ventilees ),		     ligne );  calcule_montant_ventilation();  mise_a_jour_couleurs_liste_ventilation();  selectionne_ligne_ventilation ();}