Fix balance updating.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@3665 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas 2001-02-16 00:07:08 +00:00
parent eaf3554c19
commit afa262d05d
2 changed files with 12 additions and 16 deletions

View File

@ -861,6 +861,7 @@ xaccAccountSetStartingBalance(Account *acc,
break;
default:
}
acc->balance_dirty = TRUE;
}
@ -876,15 +877,19 @@ xaccAccountSetStartingBalance(Account *acc,
\********************************************************************/
void
xaccAccountFixSplitDateOrder (Account * acc, Split *split )
xaccAccountFixSplitDateOrder (Account * acc, Split *split)
{
if (NULL == acc) return;
if (NULL == split) return;
{
acc->sort_dirty = TRUE;
acc->balance_dirty = TRUE;
}
if (acc->do_free) return;
acc->sort_dirty = TRUE;
acc->balance_dirty = TRUE;
if (acc->editlevel > 0) return;
xaccAccountBringUpToDate (acc);
}
/********************************************************************\

View File

@ -1366,17 +1366,8 @@ xaccTransCommitEdit (Transaction *trans)
/* ------------------------------------------------- */
/* Make sure all associated splits are in proper order
* in their accounts. */
for (node = trans->splits; node; node = node->next) {
split = node->data;
xaccAccountFixSplitDateOrder(split->acc, split);
}
/* Recompute the account balances. */
for (node = trans->splits; node; node = node->next) {
split = node->data;
xaccAccountRecomputeBalance (split->acc);
}
* in their accounts with the correct balances. */
xaccTransFixSplitDateOrder (trans);
trans->do_free = FALSE;
xaccTransWriteLog (trans, 'C');