gnucash maint: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Mon Feb 27 18:05:32 EST 2023
Updated via https://github.com/Gnucash/gnucash/commit/8a7c5392 (commit)
via https://github.com/Gnucash/gnucash/commit/ddc3f288 (commit)
from https://github.com/Gnucash/gnucash/commit/de9c0eb5 (commit)
commit 8a7c53925870501c8f103c8f09961ecba3341c84
Author: John Ralls <jralls at ceridwen.us>
Date: Mon Feb 27 14:54:46 2023 -0800
Bug 798748 - Transaction Notes field's value does not appear in...
reverse transaction.
The proximate cause was that xaccTransBeginEdit put the KVP cache
variable of the new transaction in a state that prevented the value
from being copied. More generally the KVP cache variables didn't
handle any invalidating events.
With the change to GValue usage in qof_instance_get_kvp it's now
a simple memory dereference with no copying except for POD types
so caching is no longer useful. This commit removes caching from
Transaction, eliminating the notes problem.
commit ddc3f28899c71579abd9b2bd822baa6b95fc41d6
Author: John Ralls <jralls at ceridwen.us>
Date: Mon Feb 27 13:02:27 2023 -0800
[kvp] Use static strings and boxed in gvalue_from_kvp_value.
Saves allocating and copying complex values, avoiding potential
memory leaks.
Summary of changes:
libgnucash/engine/Transaction.c | 164 +++++++++-------------------
libgnucash/engine/TransactionP.h | 16 +--
libgnucash/engine/kvp-frame.cpp | 28 ++---
libgnucash/engine/kvp-value.hpp | 11 +-
libgnucash/engine/mocks/gmock-Transaction.h | 2 -
libgnucash/engine/qofinstance.cpp | 10 +-
6 files changed, 75 insertions(+), 156 deletions(-)
More information about the gnucash-patches
mailing list