gnucash maint: Bug 798335 - No longer possible to change trading account

John Ralls jralls at code.gnucash.org
Thu Oct 14 20:25:32 EDT 2021


Updated	 via  https://github.com/Gnucash/gnucash/commit/2f4438ab (commit)
	from  https://github.com/Gnucash/gnucash/commit/003b0a5d (commit)



commit 2f4438ab28aa3b0cb306027a316f1a97cf75da53
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Oct 14 17:21:13 2021 -0700

    Bug 798335 - No longer possible to change trading account
    
    Strip trading splits only if "Use Trading Accounts" is enabled
    for the book so that users who want to manage trading accounts by
    hand may do so.

diff --git a/libgnucash/engine/Scrub.c b/libgnucash/engine/Scrub.c
index de14940e4..79bb73fd9 100644
--- a/libgnucash/engine/Scrub.c
+++ b/libgnucash/engine/Scrub.c
@@ -789,11 +789,8 @@ xaccTransScrubImbalance (Transaction *trans, Account *root,
 
     ENTER ("()");
 
-    /* Must look for orphan splits and remove trading splits even if
-     * there is no imbalance and we're not using trading accounts.
-     */
+    /* Must look for orphan splits even if there is no imbalance. */
     xaccTransScrubSplits (trans);
-    xaccTransClearTradingSplits (trans);
 
     /* Return immediately if things are balanced. */
     if (xaccTransIsBalanced (trans))
@@ -805,10 +802,11 @@ xaccTransScrubImbalance (Transaction *trans, Account *root,
     if (! xaccTransUseTradingAccounts (trans))
     {
         gnc_transaction_balance_no_trading (trans, root, account);
-        LEAVE ("transaction balanced, no trading accounts");
+        LEAVE ("transaction balanced, no managed trading accounts");
         return;
     }
 
+    xaccTransClearTradingSplits (trans);
     imbalance = xaccTransGetImbalanceValue (trans);
     if (! gnc_numeric_zero_p (imbalance))
     {



Summary of changes:
 libgnucash/engine/Scrub.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)



More information about the gnucash-changes mailing list