Remove some unnecessary calls to xaccGroupMarkNotSaved() which were

dirtying the book implicitly without setting any time of first change.
   Instead, make sure that committed Splits dirty their parent Transaction.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@13958 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Chris Shoemaker
2006-05-08 04:56:17 +00:00
parent de0c1edcb5
commit 7bb7a5536c
2 changed files with 4 additions and 8 deletions

View File

@@ -512,8 +512,6 @@ xaccSplitCommitEdit(Split *s)
GList *node = g_list_find (orig_acc->splits, s);
if (node) {
orig_acc->splits = g_list_delete_link (orig_acc->splits, node);
//FIXME: probably not needed.
xaccGroupMarkNotSaved (orig_acc->parent);
//FIXME: find better event type
qof_event_gen (&orig_acc->inst.entity, QOF_EVENT_MODIFY, NULL);
// And send the account-based event, too
@@ -539,7 +537,6 @@ xaccSplitCommitEdit(Split *s)
if (s->lot && (NULL == s->lot->account))
xaccAccountInsertLot (acc, s->lot);
xaccGroupMarkNotSaved (acc->parent); //FIXME: probably not needed.
//FIXME: find better event
qof_event_gen (&acc->inst.entity, QOF_EVENT_MODIFY, NULL);
@@ -568,6 +565,9 @@ xaccSplitCommitEdit(Split *s)
s->orig_parent = s->parent;
qof_instance_mark_clean(QOF_INSTANCE(s));
/* This is because Splits don't call qof_commit_edit(). */
qof_instance_set_dirty(QOF_INSTANCE(s->parent));
mark_acc(acc);
xaccAccountRecomputeBalance(acc);
if (s->inst.do_free)

View File

@@ -219,10 +219,8 @@ void gen_event_trans (Transaction *trans)
Account *account = s->acc;
GNCLot *lot = s->lot;
if (account)
{
xaccGroupMarkNotSaved (account->parent);
qof_event_gen (&account->inst.entity, GNC_EVENT_ITEM_CHANGED, s);
}
if (lot)
{
/* A change of transaction date might affect opening date of lot */
@@ -867,9 +865,7 @@ destroy_gains (Transaction *trans)
if (s->gains_split && (GAINS_STATUS_GAINS & s->gains_split->gains))
{
Transaction *t = s->gains_split->parent;
xaccTransBeginEdit (t);
xaccTransDestroy (t);
xaccTransCommitEdit (t);
s->gains_split = NULL;
}
}