From 1d4b8943560a21ccecb8be9842a11216f2d187d3 Mon Sep 17 00:00:00 2001 From: Dave Peticolas Date: Tue, 28 Nov 2000 09:01:18 +0000 Subject: [PATCH] Don't show duplicate transactions in journal mode. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3205 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/SplitLedger.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/SplitLedger.c b/src/SplitLedger.c index f8363bc1df..267b54055a 100644 --- a/src/SplitLedger.c +++ b/src/SplitLedger.c @@ -3588,6 +3588,7 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist, Split *blank_split = xaccSplitLookup(&info->blank_split_guid); Transaction *pending_trans = xaccTransLookup(&info->pending_trans_guid); SplitRegisterBuffer *reg_buffer; + GHashTable *trans_table = NULL; CellBlock *lead_cursor; Transaction *find_trans; Transaction *trans; @@ -3698,6 +3699,9 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist, table->dividing_row = -1; + if (multi_line) + trans_table = g_hash_table_new (g_direct_hash, g_direct_equal); + /* populate the table */ if (slist) split = slist[0]; @@ -3715,6 +3719,13 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist, if (split == blank_split) continue; + if (multi_line) + { + if (g_hash_table_lookup (trans_table, trans)) + continue; + g_hash_table_insert (trans_table, trans, trans); + } + if (info->show_present_divider && !found_divider && (present < xaccTransGetDate (trans))) @@ -3756,6 +3767,9 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist, start_primary_color = !start_primary_color; } + if (multi_line) + g_hash_table_destroy (trans_table); + /* add the blank split at the end. */ split = blank_split; trans = xaccSplitGetParent (split);