gnucash maint: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sat Jul 30 11:56:58 EDT 2022


Updated	 via  https://github.com/Gnucash/gnucash/commit/815eeb49 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6c70f2c2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/723dee66 (commit)
	from  https://github.com/Gnucash/gnucash/commit/7bc77374 (commit)



commit 815eeb496f183265cec84d69d14c17d6416354b4
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Jul 30 23:16:24 2022 +0800

    [gnc-plugin-page-register] g_slist_free param_list
    
    If (reg->type == SEARCH_LEDGER) then the GSList* created by
    qof_query_build_param_list would not be freed. This reordering avoids
    allocating GSList altogether when not needed.

diff --git a/gnucash/gnome/gnc-plugin-page-register.c b/gnucash/gnome/gnc-plugin-page-register.c
index dce7893b3..bfa0f671c 100644
--- a/gnucash/gnome/gnc-plugin-page-register.c
+++ b/gnucash/gnome/gnc-plugin-page-register.c
@@ -2738,7 +2738,6 @@ static void
 gnc_ppr_update_status_query (GncPluginPageRegister* page)
 {
     GncPluginPageRegisterPrivate* priv;
-    GSList* param_list;
     Query* query;
     SplitRegister* reg;
 
@@ -2762,9 +2761,9 @@ gnc_ppr_update_status_query (GncPluginPageRegister* page)
     reg = gnc_ledger_display_get_split_register (priv->ledger);
 
     /* Remove the old status match */
-    param_list = qof_query_build_param_list (SPLIT_RECONCILE, NULL);
-    if (param_list && (reg->type != SEARCH_LEDGER))
+    if (reg->type != SEARCH_LEDGER)
     {
+        GSList *param_list = qof_query_build_param_list (SPLIT_RECONCILE, NULL);
         qof_query_purge_terms (query, param_list);
         g_slist_free (param_list);
     }
@@ -2802,7 +2801,6 @@ static void
 gnc_ppr_update_date_query (GncPluginPageRegister* page)
 {
     GncPluginPageRegisterPrivate* priv;
-    GSList* param_list;
     Query* query;
     SplitRegister* reg;
 
@@ -2827,9 +2825,10 @@ gnc_ppr_update_date_query (GncPluginPageRegister* page)
     reg = gnc_ledger_display_get_split_register (priv->ledger);
 
     /* Delete any existing old date spec. */
-    param_list = qof_query_build_param_list (SPLIT_TRANS, TRANS_DATE_POSTED, NULL);
-    if (param_list && (reg->type != SEARCH_LEDGER))
+    if (reg->type != SEARCH_LEDGER)
     {
+        GSList *param_list = qof_query_build_param_list (SPLIT_TRANS,
+                                                         TRANS_DATE_POSTED, NULL);
         qof_query_purge_terms (query, param_list);
         g_slist_free (param_list);
     }

commit 6c70f2c22d9e72da9c20bc8511ddf816e5f05ce4
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Jul 30 23:15:08 2022 +0800

    [gnucash-sheet] unref cursor

diff --git a/gnucash/register/register-gnome/gnucash-sheet.c b/gnucash/register/register-gnome/gnucash-sheet.c
index 2991e31e7..4b009dc27 100644
--- a/gnucash/register/register-gnome/gnucash-sheet.c
+++ b/gnucash/register/register-gnome/gnucash-sheet.c
@@ -817,6 +817,8 @@ gnucash_sheet_finalize (GObject *object)
     g_hash_table_destroy (sheet->cursor_styles);
     g_hash_table_destroy (sheet->dimensions_hash_table);
 
+    g_object_unref (sheet->cursor);
+
     if (G_OBJECT_CLASS(sheet_parent_class)->finalize)
         (*G_OBJECT_CLASS(sheet_parent_class)->finalize)(object);
 }

commit 723dee66cb7274ece45f3f86dc21d79475b3c5de
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Jul 30 23:01:07 2022 +0800

    [gnc-ledger-display] QofQuery destroyed
    
    This QofQuery was copied by gnc_ledger_display_internal, therefore its
    is no longer in use when out of scope.

diff --git a/gnucash/register/ledger-core/gnc-ledger-display.c b/gnucash/register/ledger-core/gnc-ledger-display.c
index 1f972f6c0..4a6988001 100644
--- a/gnucash/register/ledger-core/gnc-ledger-display.c
+++ b/gnucash/register/ledger-core/gnc-ledger-display.c
@@ -530,6 +530,8 @@ gnc_ledger_display_template_gl (char* id)
         gnc_split_register_set_template_account (sr, acct);
     }
 
+    qof_query_destroy (q);
+
     LEAVE ("%p", ld);
     return ld;
 }



Summary of changes:
 gnucash/gnome/gnc-plugin-page-register.c          | 11 +++++------
 gnucash/register/ledger-core/gnc-ledger-display.c |  2 ++
 gnucash/register/register-gnome/gnucash-sheet.c   |  2 ++
 3 files changed, 9 insertions(+), 6 deletions(-)



More information about the gnucash-changes mailing list