gnucash stable: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Sun Sep 17 20:51:04 EDT 2023
Updated via https://github.com/Gnucash/gnucash/commit/b7cac5c3 (commit)
via https://github.com/Gnucash/gnucash/commit/c074b822 (commit)
via https://github.com/Gnucash/gnucash/commit/1ddee7dc (commit)
from https://github.com/Gnucash/gnucash/commit/346732e8 (commit)
commit b7cac5c30113157c34d382b2a55667982d978454
Merge: 346732e812 c074b82224
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Sep 18 08:50:33 2023 +0800
Merge branch 'test-qof-plug-leaks' into stable #1773
commit c074b8222426012841a3326b956d58428d09d54e
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Sep 16 17:28:43 2023 +0800
[test-qofsession] plugs Account* leak
diff --git a/libgnucash/engine/test/test-qofsession.cpp b/libgnucash/engine/test/test-qofsession.cpp
index 30d91e2978..9e57485adf 100644
--- a/libgnucash/engine/test/test-qofsession.cpp
+++ b/libgnucash/engine/test/test-qofsession.cpp
@@ -36,8 +36,20 @@ static bool sync_called {false};
static bool load_error {true};
static bool data_loaded {false};
+struct DestroyAccount
+{
+ void operator()(Account *acct)
+ {
+ xaccAccountBeginEdit (acct);
+ xaccAccountDestroy (acct);
+ }
+};
+
+using AccountPtr = std::unique_ptr<Account, DestroyAccount>;
+
class QofSessionMockBackend : public QofBackend
{
+ AccountPtr m_root;
public:
QofSessionMockBackend() = default;
QofSessionMockBackend(const QofSessionMockBackend&) = delete;
@@ -56,7 +68,7 @@ void QofSessionMockBackend::load (QofBook *book, QofBackendLoadType)
if (load_error)
set_error(ERR_BACKEND_NO_BACKEND);
else
- gnc_account_create_root (book);
+ m_root = AccountPtr{gnc_account_create_root (book)};
data_loaded = true;
}
commit 1ddee7dc3f8f169ebe8ac0da1c7c0ed25f62faba
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Sep 16 17:20:06 2023 +0800
[test-qofbook] plugs Account* leak
diff --git a/libgnucash/engine/test/test-qofbook.c b/libgnucash/engine/test/test-qofbook.c
index 2826b62b28..f131bcbb4c 100644
--- a/libgnucash/engine/test/test-qofbook.c
+++ b/libgnucash/engine/test/test-qofbook.c
@@ -64,6 +64,9 @@ setup( Fixture *fixture, gconstpointer pData )
static void
teardown( Fixture *fixture, gconstpointer pData )
{
+ Account *root = gnc_book_get_root_account (fixture->book);
+ xaccAccountBeginEdit (root);
+ xaccAccountDestroy (root);
qof_book_destroy( fixture->book );
}
Summary of changes:
libgnucash/engine/test/test-qofbook.c | 3 +++
libgnucash/engine/test/test-qofsession.cpp | 14 +++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
More information about the gnucash-changes
mailing list