rem: iter = cherche_iter_operation ( gsb_account_get_current_transaction (gsb_account_get_current_account ()), gsb_account_get_current_account () );
add: iter = cherche_iter_operation ( gsb_account_get_current_transaction (gsb_account_get_current_account ()));
context: void r_press (void){    gpointer transaction;    GtkTreeIter *iter;    gint col;    GtkTreeModel *model;    col = find_p_r_col ();    if ( col == -1 )	return;    transaction = gsb_account_get_current_transaction (gsb_account_get_current_account ());    /* si on est sur l'opération vide -> on se barre */    if ( transaction == GINT_TO_POINTER ( -1 ))	return;    model = gsb_account_get_store ( gsb_account_get_current_account () );    iter = cherche_iter_operation ( gsb_account_get_current_transaction (gsb_account_get_current_account ()),				    gsb_account_get_current_account () );    if ( !gsb_transaction_data_get_marked_transaction ( gsb_transaction_data_get_transaction_number (transaction )))    {	/* on relève l'opération */	gsb_transaction_data_set_marked_transaction ( gsb_transaction_data_get_transaction_number (transaction),												   3);	/* on met soit le R, soit on change la sélection vers l'opé suivante */	if ( gsb_account_get_r (gsb_account_get_current_account ()) )	    gtk_list_store_set ( GTK_LIST_STORE ( model ),				 iter,				 col, _("R"),				 -1 );	else	{	    /* we don't want to see the R, so the transaction will diseapear */	    gpointer next_transaction;	    next_transaction = gsb_transactions_list_get_transaction_next ( transaction );	    gtk_list_store_set ( GTK_LIST_STORE ( model ),				 iter,				 TRANSACTION_COL_NB_VISIBLE, FALSE,				 -1 );	    if ( next_transaction )		gsb_account_set_current_transaction ( gsb_account_get_current_account (),						      next_transaction );	    gsb_transactions_list_set_background_color (gsb_account_get_current_account ());	    gsb_transactions_list_set_transactions_balances (gsb_account_get_current_account ());	}	modification_fichier( TRUE );    }    else	if ( gsb_transaction_data_get_marked_transaction ( gsb_transaction_data_get_transaction_number (transaction ))== 3 )	{	    /* dé-relève l'opération */	    gtk_list_store_set ( GTK_LIST_STORE ( model ),				 iter,				 col, NULL,				 -1 );	    modification_fichier( TRUE );	}    /* si c'est une ventilation, on fait le tour des opérations du compte pour */    /* rechercher les opérations de ventilation associées à cette ventilation */    if ( gsb_transaction_data_get_breakdown_of_transaction ( gsb_transaction_data_get_transaction_number (transaction )))    {	GSList *liste_tmp;	liste_tmp = gsb_account_get_transactions_list (gsb_account_get_current_account ());	while ( liste_tmp )	{	    gpointer transaction_child;	    transaction_child = liste_tmp -> data;	    if ( gsb_transaction_data_get_mother_transaction_number ( gsb_transaction_data_get_transaction_number (transaction_child ))== gsb_transaction_data_get_transaction_number (transaction))		gsb_transaction_data_set_marked_transaction ( gsb_transaction_data_get_transaction_number (transaction_child),													   gsb_transaction_data_get_marked_transaction ( gsb_transaction_data_get_transaction_number (transaction )));	    liste_tmp = liste_tmp -> next;	}    }}