rem: for ( i=0 ; i<gsb_account_get_nb_rows ( no_account ) ; i++ ) { gtk_tree_model_get ( GTK_TREE_MODEL ( model ), iter, TRANSACTION_COL_NB_SAVE_BACKGROUND, &couleur, -1 ); gtk_list_store_set ( GTK_LIST_STORE ( model ), iter, TRANSACTION_COL_NB_BACKGROUND,couleur, -1 ); gtk_list_store_set ( GTK_LIST_STORE ( model ), iter, TRANSACTION_COL_NB_SAVE_BACKGROUND, NULL, -1 );
context: gboolean gsb_transactions_list_set_current_transaction ( gpointer new_transaction,							 gint no_account ){    GtkTreeIter *iter;    gint i;    GdkColor *couleur;    GtkTreeModel *model;    gpointer current_transaction;    if ( ! gsb_account_get_tree_view (no_account))	return FALSE;    if ( DEBUG )    {	if ( new_transaction == GINT_TO_POINTER (-1))	    printf ( "gsb_transactions_list_set_current_transaction white\n");	else	    printf ( "gsb_transactions_list_set_current_transaction %d\n", gsb_transaction_data_get_transaction_number (new_transaction));    }    current_transaction =  gsb_account_get_current_transaction (no_account);    /*     si gsb_account_get_finished_selection_transaction ()=0, c'est qu'il n'y a encore aucune sélection sur la liste */    /*     donc new_transaction = current_transaction = -1, mais on ne se barre pas */    /*     sinon si on est déjà dessus, on se barre */    if ( new_transaction == current_transaction	 &&	 gsb_account_get_finished_selection_transaction (no_account))	return FALSE;    model = gsb_account_get_store ( no_account );    /*   vire l'ancienne sélection : consiste à remettre la couleur d'origine du background */    if ( gsb_account_get_finished_selection_transaction (no_account) )    {	iter = cherche_iter_operation ( current_transaction,					no_account );	if ( iter )	{	    /* 	iter est maintenant positionné sur la 1ère ligne de l'opé à désélectionner */	    for ( i=0 ; i<gsb_account_get_nb_rows ( no_account ) ; i++ )	    {		gtk_tree_model_get ( GTK_TREE_MODEL ( model ),				     iter,				     TRANSACTION_COL_NB_SAVE_BACKGROUND, &couleur,				     -1 );		gtk_list_store_set ( GTK_LIST_STORE ( model ),				     iter,				     TRANSACTION_COL_NB_BACKGROUND,couleur,				     -1 );		gtk_list_store_set ( GTK_LIST_STORE ( model ),				     iter,				     TRANSACTION_COL_NB_SAVE_BACKGROUND, NULL,				     -1 );		/* if it's a breakdown of transaction, it's only 1 line */		if ( current_transaction != GINT_TO_POINTER (-1)		     &&		     gsb_transaction_data_get_mother_transaction_number ( gsb_transaction_data_get_transaction_number (current_transaction )))		    i = gsb_account_get_nb_rows (no_account);		gtk_tree_model_iter_next ( GTK_TREE_MODEL ( model ),					   iter );	    }	}    }    gsb_account_set_current_transaction ( no_account,					  new_transaction );    iter = cherche_iter_operation ( new_transaction,				    no_account );    if ( iter )    {	/* 	iter est maintenant positionne sur la 1ère ligne de l'ope à sélectionner */	for ( i=0 ; i<gsb_account_get_nb_rows ( no_account ) ; i++ )	{	    gtk_tree_model_get ( GTK_TREE_MODEL ( model ),				 iter,				 TRANSACTION_COL_NB_BACKGROUND, &couleur,				 -1 );	    gtk_list_store_set ( GTK_LIST_STORE ( model ),				 iter,				 TRANSACTION_COL_NB_BACKGROUND, &couleur_selection,				 -1 );	    gtk_list_store_set ( GTK_LIST_STORE ( model ),				 iter,				 TRANSACTION_COL_NB_SAVE_BACKGROUND, couleur,				 -1 );	    /* if it's a breakdown of transaction, it's only 1 line */	    if ( new_transaction != GINT_TO_POINTER (-1)		 &&		 gsb_transaction_data_get_mother_transaction_number ( gsb_transaction_data_get_transaction_number (new_transaction )))		i = gsb_account_get_nb_rows (no_account);	    gtk_tree_model_iter_next ( GTK_TREE_MODEL ( model ),				       iter );	}    }    gsb_account_set_finished_selection_transaction ( no_account,						     1 );    return FALSE;}