From a773248939641e85108d3cdfd4eaf1a9a1005258 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Fri, 25 Jul 2025 12:53:48 -0700 Subject: [PATCH] Bug 799649 - Ensure that GnuCash does not crash when it converts a... foreign-currency transaction into a trading account transaction. Disable scrubbing while committing the new trading split, otherwise the recursed scrub will delete it causing a crash when GnuCash tries to populate it. --- libgnucash/engine/Scrub.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libgnucash/engine/Scrub.cpp b/libgnucash/engine/Scrub.cpp index 7f24cbccaa..34f9221a90 100644 --- a/libgnucash/engine/Scrub.cpp +++ b/libgnucash/engine/Scrub.cpp @@ -566,11 +566,13 @@ get_trading_split (Transaction *trans, Account *base, if (!balance_split) { balance_split = xaccMallocSplit (qof_instance_get_book(trans)); + xaccDisableDataScrubbing(); xaccTransBeginEdit (trans); xaccSplitSetParent(balance_split, trans); xaccSplitSetAccount(balance_split, account); xaccTransCommitEdit (trans); + xaccEnableDataScrubbing(); } return balance_split;