From 068a5d2fa8f2a9658b4b5ffb0a8821adf58d09f3 Mon Sep 17 00:00:00 2001 From: Mike Alexander Date: Mon, 6 Sep 2021 02:45:37 -0400 Subject: [PATCH] Fix xaccSplitGetOtherSplit which was broken by 028bf9826, don't count splits that aren't really in the transaction. The rewrite left out one test. This was most obvious in the dummy transaction used to enter a new transaction into an account. xaccSplitGetOtherSplit never returned an "other split" for this transaction. It turns out the old code was broken too, but it worked for this case by coincidence. --- libgnucash/engine/Split.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libgnucash/engine/Split.c b/libgnucash/engine/Split.c index d771e1f8bf..31ede94c61 100644 --- a/libgnucash/engine/Split.c +++ b/libgnucash/engine/Split.c @@ -2107,6 +2107,7 @@ xaccSplitGetOtherSplit (const Split *split) { Split *s = n->data; if ((s == split) || + (!xaccTransStillHasSplit(trans, s)) || (xaccAccountGetType (xaccSplitGetAccount (s)) == ACCT_TYPE_TRADING) || (qof_instance_has_slot (QOF_INSTANCE (s), "lot-split"))) continue;