summaryrefslogtreecommitdiff
path: root/textual.cc
diff options
context:
space:
mode:
Diffstat (limited to 'textual.cc')
-rw-r--r--textual.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/textual.cc b/textual.cc
index 1c50d725..b066fdd0 100644
--- a/textual.cc
+++ b/textual.cc
@@ -148,14 +148,21 @@ bool finalize_entry(entry_t * entry)
value_t balance;
+ bool first = true;
for (transactions_list::const_iterator x = entry->transactions.begin();
x != entry->transactions.end();
x++)
if (! ((*x)->flags & TRANSACTION_VIRTUAL) ||
((*x)->flags & TRANSACTION_BALANCE)) {
amount_t * p = (*x)->cost ? (*x)->cost : &(*x)->amount;
- if (*p)
- balance += *p;
+ if (*p) {
+ if (first) {
+ balance = *p;
+ first = false;
+ } else {
+ balance += *p;
+ }
+ }
}
// If one transaction of a two-line transaction is of a different