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