From 5fc1f9dce96379e210c8cb4c553b1094f589d42b Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 15 Feb 2009 15:43:13 -0400 Subject: Corrected double problem in period reports xact_t::add_to_value, in cases where the xact had a "compound" total, was adding transaction values to the running total twice. --- src/xact.cc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/xact.cc b/src/xact.cc index b2337329..93e66369 100644 --- a/src/xact.cc +++ b/src/xact.cc @@ -316,13 +316,9 @@ void xact_t::add_to_value(value_t& value, expr_t& expr) if (xdata_ && xdata_->has_flags(XACT_EXT_COMPOUND)) { add_or_set_value(value, xdata_->value); } - - if (! xdata_ || ! xdata_->has_flags(XACT_EXT_NO_TOTAL)) { + else if (! xdata_ || ! xdata_->has_flags(XACT_EXT_NO_TOTAL)) { bind_scope_t bound_scope(*expr.get_context(), *this); - if (value.is_null()) - value = amount_t(0L); - - value += expr.calc(bound_scope); + add_or_set_value(value, expr.calc(bound_scope)); } } -- cgit v1.2.3