gnucash maint: [Transaction.c] don't set TxnType kvp if it is the same as before

Christopher Lam clam at code.gnucash.org
Fri Jul 8 06:16:19 EDT 2022


Updated	 via  https://github.com/Gnucash/gnucash/commit/aa43c198 (commit)
	from  https://github.com/Gnucash/gnucash/commit/9f6d495c (commit)



commit aa43c198c642adb6ba936ba97a5632ac0c430edd
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Jul 8 18:14:39 2022 +0800

    [Transaction.c] don't set TxnType kvp if it is the same as before
    
    will avoid dirtying the transaction.

diff --git a/libgnucash/engine/Transaction.c b/libgnucash/engine/Transaction.c
index 489e883b9..c4c933209 100644
--- a/libgnucash/engine/Transaction.c
+++ b/libgnucash/engine/Transaction.c
@@ -2112,6 +2112,12 @@ xaccTransSetTxnType (Transaction *trans, char type)
     GValue v = G_VALUE_INIT;
     g_return_if_fail(trans);
     g_value_init (&v, G_TYPE_STRING);
+    qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, TRANS_TXN_TYPE_KVP);
+    if (!g_strcmp0 (s, g_value_get_string (&v)))
+    {
+        g_value_unset (&v);
+        return;
+    }
     g_value_set_string (&v, s);
     xaccTransBeginEdit(trans);
     qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, TRANS_TXN_TYPE_KVP);



Summary of changes:
 libgnucash/engine/Transaction.c | 6 ++++++
 1 file changed, 6 insertions(+)



More information about the gnucash-changes mailing list