Add missing trans begin/commit calls.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@5664 57a11ea4-9604-0410-9ed3-97b8803252fd
zzzoldfeatures/g2-gog-integ
Dave Peticolas 25 years ago
parent 0f43b340f3
commit ae4a6fe07a

@ -724,13 +724,18 @@ xaccClearMarkDownGr (AccountGroup *grp, short val)
void
xaccAccountInsertSplit (Account *acc, Split *split)
{
Transaction *trans;
if (!acc) return;
if (!split) return;
/* check for session mix-up */
g_return_if_fail (acc->entity_table == split->entity_table);
trans = xaccSplitGetParent (split);
xaccAccountBeginEdit(acc);
xaccTransBeginEdit(trans);
acc->balance_dirty = TRUE;
acc->sort_dirty = TRUE;
@ -748,10 +753,11 @@ xaccAccountInsertSplit (Account *acc, Split *split)
* just using this call to re-order. */
if (xaccSplitGetAccount(split) &&
xaccSplitGetAccount(split) != acc)
xaccAccountRemoveSplit (xaccSplitGetAccount(split), split);
xaccSplitSetAccount(split, acc);
xaccAccountRemoveSplit (xaccSplitGetAccount(split), split);
xaccSplitSetAccount (split, acc);
if(g_list_index(acc->splits, split) == -1)
if (g_list_index(acc->splits, split) == -1)
{
if (acc->editlevel == 1)
{
@ -766,7 +772,8 @@ xaccAccountInsertSplit (Account *acc, Split *split)
if (split->parent)
gnc_engine_generate_event (&split->parent->guid, GNC_EVENT_MODIFY);
}
xaccTransCommitEdit(trans);
xaccAccountCommitEdit(acc);
}
@ -778,7 +785,7 @@ xaccAccountRemoveSplit (Account *acc, Split *split)
{
if (!acc) return;
if (!split) return;
xaccAccountBeginEdit(acc);
{
GList *node;
@ -790,11 +797,16 @@ xaccAccountRemoveSplit (Account *acc, Split *split)
}
else
{
Transaction *trans = xaccSplitGetParent (split);
acc->splits = g_list_remove_link (acc->splits, node);
g_list_free_1 (node);
acc->balance_dirty = TRUE;
xaccTransBeginEdit (trans);
xaccSplitSetAccount(split, NULL);
xaccTransCommitEdit (trans);
mark_account (acc);
if (split->parent)
@ -1115,13 +1127,20 @@ update_split_commodity(Account * acc)
if(!acc) return;
xaccAccountBeginEdit(acc);
/* iterate over splits */
for(lp = acc->splits; lp; lp = lp->next) {
for (lp = acc->splits; lp; lp = lp->next)
{
Split *s = (Split *) lp->data;
Transaction *trans = xaccSplitGetParent (s);
xaccTransBeginEdit (trans);
s->amount = gnc_numeric_convert(s->amount,
xaccAccountGetCommoditySCU(acc),
GNC_RND_ROUND);
xaccTransCommitEdit (trans);
}
xaccAccountCommitEdit(acc);
}

Loading…
Cancel
Save