summaryrefslogtreecommitdiff
path: root/src/filters.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/filters.cc')
-rw-r--r--src/filters.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/filters.cc b/src/filters.cc
index b19c36f1..4f49718b 100644
--- a/src/filters.cc
+++ b/src/filters.cc
@@ -190,8 +190,10 @@ void calc_xacts::operator()(xact_t& xact)
if (last_xact && last_xact->has_xdata())
add_or_set_value(xdata.total, last_xact->xdata().total);
- if (! xdata.has_flags(XACT_EXT_NO_TOTAL))
- xact.add_to_value(xdata.total);
+ if (! xdata.has_flags(XACT_EXT_NO_TOTAL)) {
+ bind_scope_t bound_scope(*amount_expr.get_context(), xact);
+ xdata.total += amount_expr.calc();
+ }
item_handler<xact_t>::operator()(xact);