summaryrefslogtreecommitdiff
path: root/src/account.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/account.cc')
-rw-r--r--src/account.cc13
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();
+ }
+ }
}
}