From 7ffe0a53910e6c7830996131e21291e8d842b9d5 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Mon, 12 Jul 2021 20:08:40 +0800 Subject: [PATCH] [gnc-tree-model-owner.c] owner_list must be freed --- gnucash/gnome-utils/gnc-tree-model-owner.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnucash/gnome-utils/gnc-tree-model-owner.c b/gnucash/gnome-utils/gnc-tree-model-owner.c index 95180e13f3..620642fc7f 100644 --- a/gnucash/gnome-utils/gnc-tree-model-owner.c +++ b/gnucash/gnome-utils/gnc-tree-model-owner.c @@ -192,6 +192,9 @@ gnc_tree_model_owner_finalize (GObject *object) model = GNC_TREE_MODEL_OWNER (object); priv = GNC_TREE_MODEL_OWNER_GET_PRIVATE(model); + if (priv->owner_list) + g_list_free_full (priv->owner_list, (GDestroyNotify) gncOwnerFree); + priv->book = NULL; priv->owner_list = NULL; @@ -976,6 +979,9 @@ gnc_tree_model_owner_event_handler (QofInstance *entity, /* Tell the filters/views where the new owner was added. */ DEBUG("add owner %p (%s)", &owner, gncOwnerGetName(&owner)); /* First update our copy of the owner list. This isn't done automatically */ + if (priv->owner_list) + g_list_free_full (priv->owner_list, (GDestroyNotify) gncOwnerFree); + priv->owner_list = gncBusinessGetOwnerList (priv->book, gncOwnerTypeToQofIdType(priv->owner_type), TRUE); increment_stamp(model);