diff options
Diffstat (limited to 'src/account.cc')
-rw-r--r-- | src/account.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/account.cc b/src/account.cc index 14e8b0a9..da8b0b8e 100644 --- a/src/account.cc +++ b/src/account.cc @@ -136,6 +136,19 @@ void account_t::add_post(post_t * post) xdata_->self_details.calculated = false; xdata_->family_details.gathered = false; xdata_->family_details.calculated = false; + if (! xdata_->family_details.total.is_null()) { + xdata_->family_details.total = ledger::value_t(); + } + account_t *ancestor = this; + while (ancestor->parent) { + ancestor = ancestor->parent; + if (ancestor->has_xdata()) { + xdata_t &xdata = ancestor->xdata(); + xdata.family_details.gathered = false; + xdata.family_details.calculated = false; + xdata.family_details.total = ledger::value_t(); + } + } } } |