gnucash master: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Fri Aug 27 08:47:45 EDT 2021


Updated	 via  https://github.com/Gnucash/gnucash/commit/c6d83338 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b4205246 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e3fd6bf4 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/37cb886d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c55ab503 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9ddb9e82 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/38327657 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/929cb3d0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/0f3da067 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/34f42ec9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/71ad5c83 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e5135570 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c398bef5 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7e41efc2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ff2ceb11 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9fc1ac6b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9bc44c62 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/15b8545e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6c8af6aa (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4cf25cb7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c442192b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c4a0fb46 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/57866eed (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2727259f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a96024ca (commit)
	 via  https://github.com/Gnucash/gnucash/commit/028bf982 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6bf5a618 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e4d808e6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/6fd19f2e (commit)
	from  https://github.com/Gnucash/gnucash/commit/37895bfd (commit)



commit c6d83338112e758997dfa37fd31b97e7ab8ba7d2
Merge: 37895bfda b42052464
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 27 20:33:31 2021 +0800

    Merge branch 'maint'


commit b42052464ba9701a3d1834fc58fa0deb32ab9afe
Author: Romanos Skiadas <rom.skiad at gmail.com>
Date:   Fri Aug 27 01:00:32 2021 +0300

    fix spurious error about uninitialized have_end
    
    in gnc_tree_view_account_select_subaccounts, gcc thinks have_end might
    not be initialized, but since the function exits if num_children == 0,
    the while (num_children) loop will always be entered. Silence the
    warning.

diff --git a/gnucash/gnome-utils/gnc-tree-view-account.c b/gnucash/gnome-utils/gnc-tree-view-account.c
index 904921365..35c33f2e8 100644
--- a/gnucash/gnome-utils/gnc-tree-view-account.c
+++ b/gnucash/gnome-utils/gnc-tree-view-account.c
@@ -1676,7 +1676,7 @@ gnc_tree_view_account_select_subaccounts (GncTreeViewAccount *view,
     GtkTreeSelection *selection;
     GtkTreePath *sp_account, *sp_start, *sp_end;
     GtkTreeIter si_account, si_start, si_end;
-    gboolean have_start, have_end;
+    gboolean have_start, have_end = FALSE;
     gint num_children;
 
     ENTER("view %p, account %p (%s)", view, account, xaccAccountGetName(account));

commit e3fd6bf4fe953471b7953b1e1110966fdb9ac952
Author: Kaantaja <ufdbvgoljrjkrkyyub at ianvvn.com>
Date:   Wed Aug 25 19:34:29 2021 +0200

    Translation update  by Kaantaja <ufdbvgoljrjkrkyyub at ianvvn.com> using Weblate
    
    po/glossary/fi.po: 100.0% (208 of 208 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Glossary (Finnish)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/fi/
    
    Co-authored-by: Kaantaja <ufdbvgoljrjkrkyyub at ianvvn.com>

diff --git a/po/glossary/fi.po b/po/glossary/fi.po
index ff36556ee..caad01f02 100644
--- a/po/glossary/fi.po
+++ b/po/glossary/fi.po
@@ -3,14 +3,15 @@
 # Marko Kohtala <marko.kohtala at gmail.com>, 2020.
 # Jyri-Petteri Paloposki <jyri-petteri.paloposki at iki.fi>, 2021.
 # Metroseksuaali <timmy.kinnunen at elisanet.fi>, 2021.
+# Kaantaja <ufdbvgoljrjkrkyyub at ianvvn.com>, 2021.
 msgid ""
 msgstr ""
 "Project-Id-Version: GnuCash 3.10\n"
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-01-10 08:00+0100\n"
-"PO-Revision-Date: 2021-02-25 18:50+0000\n"
-"Last-Translator: Metroseksuaali <timmy.kinnunen at elisanet.fi>\n"
+"PO-Revision-Date: 2021-08-25 17:34+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub at ianvvn.com>\n"
 "Language-Team: Finnish <https://hosted.weblate.org/projects/gnucash/glossary/"
 "fi/>\n"
 "Language: fi\n"
@@ -18,7 +19,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.5\n"
+"X-Generator: Weblate 4.8.1-dev\n"
 
 #. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
 msgid "Term (Dear translator: This file will never be visible to the user!)"
@@ -429,8 +430,6 @@ msgid "financial calculator: payments"
 msgstr "talouslaskin: maksut"
 
 #. "formal records of the financial activities and position of a business, person, or other entity. See https://en.wikipedia.org/wiki/Financial_statement for a list."
-#, fuzzy
-#| msgid "income statement"
 msgid "financial statement"
 msgstr "tuloslaskelma"
 

commit 37cb886de5daf779673435b59bb9b2607b8acf0c
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Wed Aug 25 09:12:25 2021 +0800

    [engine.i] gnc_budget_get_account_period_note to be freed by the caller
    
    amendment to last commit.
    
    this pair of changes was necessary to allow the GValue to be unset.

diff --git a/bindings/engine.i b/bindings/engine.i
index 42c8baf74..a8fe5827d 100644
--- a/bindings/engine.i
+++ b/bindings/engine.i
@@ -131,6 +131,8 @@ functions. */
 %newobject gnc_localtime;
 %newobject gnc_gmtime;
 
+%newobject gnc_budget_get_account_period_note;
+
 /* Parse the header file to generate wrappers */
 %inline {
   static QofIdType QOF_ID_BOOK_SCM (void) { return QOF_ID_BOOK; }

commit c55ab503495dd99e00f9d2421d37529e3e2daa55
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Mon Aug 23 23:34:31 2021 +0800

    [gnc-budget.c] gnc_budget_get_account_period_note to be freed by the caller

diff --git a/gnucash/gnome/gnc-budget-view.c b/gnucash/gnome/gnc-budget-view.c
index 851edc8b9..924db4c25 100644
--- a/gnucash/gnome/gnc-budget-view.c
+++ b/gnucash/gnome/gnc-budget-view.c
@@ -937,7 +937,7 @@ query_tooltip_tree_view_cb (GtkWidget *widget, gint x, gint y,
     GncBudgetViewPrivate *priv = GNC_BUDGET_VIEW_GET_PRIVATE(view);
     GtkTreePath          *path  = NULL;
     GtkTreeViewColumn    *column = NULL;
-    const gchar          *note;
+    gchar                *note;
     guint                 period_num;
     Account              *account;
 
@@ -962,6 +962,7 @@ query_tooltip_tree_view_cb (GtkWidget *widget, gint x, gint y,
     gtk_tooltip_set_text (tooltip, note);
     gtk_tree_view_set_tooltip_cell (tree_view, tooltip, path, column, NULL);
     gtk_tree_path_free (path);
+    g_free (note);
 
     return TRUE;
 }
diff --git a/gnucash/gnome/gnc-plugin-page-budget.c b/gnucash/gnome/gnc-plugin-page-budget.c
index 8a968bdf0..67da7eba2 100644
--- a/gnucash/gnome/gnc-plugin-page-budget.c
+++ b/gnucash/gnome/gnc-plugin-page-budget.c
@@ -1219,7 +1219,7 @@ gnc_plugin_page_budget_cmd_budget_note(GtkAction *action,
     GtkWidget *dialog, *note;
     gint result;
     GtkBuilder *builder;
-    const gchar *txt;
+    gchar *txt;
     GtkTreeViewColumn *col = NULL;
     GtkTreePath *path = NULL;
     guint period_num = 0;
@@ -1268,6 +1268,7 @@ gnc_plugin_page_budget_cmd_budget_note(GtkAction *action,
     note = GTK_WIDGET(gtk_builder_get_object(builder, "BudgetNote"));
     txt  = gnc_budget_get_account_period_note(priv->budget, acc, period_num);
     xxxgtk_textview_set_text(GTK_TEXT_VIEW(note), txt);
+    g_free (txt);
 
     gtk_widget_show_all(dialog);
     result = gtk_dialog_run(GTK_DIALOG(dialog));
diff --git a/libgnucash/engine/gnc-budget.c b/libgnucash/engine/gnc-budget.c
index dc67c389a..db4b3ec5d 100644
--- a/libgnucash/engine/gnc-budget.c
+++ b/libgnucash/engine/gnc-budget.c
@@ -631,20 +631,23 @@ gnc_budget_set_account_period_note(GncBudget *budget, const Account *account,
 
 }
 
-const gchar *
+gchar *
 gnc_budget_get_account_period_note(const GncBudget *budget,
                                    const Account *account, guint period_num)
 {
     gchar path_part_one [GUID_ENCODING_LENGTH + 1];
     gchar path_part_two [GNC_BUDGET_MAX_NUM_PERIODS_DIGITS];
     GValue v = G_VALUE_INIT;
+    gchar *retval;
 
     g_return_val_if_fail(GNC_IS_BUDGET(budget), NULL);
     g_return_val_if_fail(account, NULL);
 
     make_period_path (account, period_num, path_part_one, path_part_two);
     qof_instance_get_kvp (QOF_INSTANCE (budget), &v, 3, GNC_BUDGET_NOTES_PATH, path_part_one, path_part_two);
-    return (G_VALUE_HOLDS_STRING(&v)) ? g_value_get_string(&v) : NULL;
+    retval = G_VALUE_HOLDS_STRING (&v) ? g_value_dup_string(&v) : NULL;
+    g_value_unset (&v);
+    return retval;
 }
 
 time64
diff --git a/libgnucash/engine/gnc-budget.h b/libgnucash/engine/gnc-budget.h
index 3f87816ce..f5b9a2cee 100644
--- a/libgnucash/engine/gnc-budget.h
+++ b/libgnucash/engine/gnc-budget.h
@@ -156,9 +156,11 @@ gnc_numeric gnc_budget_get_account_period_value(
 gnc_numeric gnc_budget_get_account_period_actual_value(
     const GncBudget *budget, Account *account, guint period_num);
 
+/* get/set the budget account period's note, beware when retrieving
+   the period note, the latter must be g_freed by the caller */
 void gnc_budget_set_account_period_note(GncBudget *budget,
     const Account *account, guint period_num, const gchar *note);
-const gchar *gnc_budget_get_account_period_note(const GncBudget *budget,
+gchar *gnc_budget_get_account_period_note (const GncBudget *budget,
     const Account *account, guint period_num);
 
 /* Returns some budget in the book, or NULL. */

commit 9ddb9e821550c28647b54d5c4de3ee5c84acebb8
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Tue Aug 24 22:31:37 2021 +0800

    [gnc-module.c] free a GList* properly
    
    g_list_free (current) was a NOP because current became NULL after the
    preceding GList traversal.

diff --git a/libgnucash/gnc-module/gnc-module.c b/libgnucash/gnc-module/gnc-module.c
index 638b1318b..11465757e 100644
--- a/libgnucash/gnc-module/gnc-module.c
+++ b/libgnucash/gnc-module/gnc-module.c
@@ -257,11 +257,7 @@ gnc_module_system_refresh(void)
 
     }
     /* free the search dir strings */
-    for (current = search_dirs; current; current = current->next)
-    {
-        g_free(current->data);
-    }
-    g_list_free(current);
+    g_list_free_full (search_dirs, g_free);
 }
 
 

commit 383276579e78236f486a3ed8f9048d037f7a3120
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date:   Tue Aug 24 01:20:32 2021 +0200

    Update file extension in man pages
    
    https://lists.gnucash.org/pipermail/gnucash-user/2021-August/097472.html

diff --git a/doc/gnucash-cli.1.in b/doc/gnucash-cli.1.in
index c0e929753..452c017b5 100644
--- a/doc/gnucash-cli.1.in
+++ b/doc/gnucash-cli.1.in
@@ -7,7 +7,7 @@
 gnucash-cli \- command line tool to go with GnuCash
 .SH SYNOPSIS
 .B gnucash-cli [options] [
-.I accounts.gnc
+.I accounts.gnucash
 .B ]
 .SH DESCRIPTION
 .B gnucash-cli
diff --git a/doc/gnucash.1.in b/doc/gnucash.1.in
index c6aca6c1d..cde3e179d 100644
--- a/doc/gnucash.1.in
+++ b/doc/gnucash.1.in
@@ -7,7 +7,7 @@
 gnucash \- personal finance manager
 .SH SYNOPSIS
 .B gnucash [options] [
-.I accounts.gnc
+.I accounts.gnucash
 .B ]
 .SH DESCRIPTION
 .B GnuCash

commit 929cb3d0c141b78d4b3c61d7053773bf0a763d25
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Tue Aug 24 00:13:45 2021 +0800

    [engine.i] free swigged GList* arg

diff --git a/bindings/engine.i b/bindings/engine.i
index 23f89c96b..42c8baf74 100644
--- a/bindings/engine.i
+++ b/bindings/engine.i
@@ -258,6 +258,8 @@ time64 time64CanonicalDayTime(time64 t);
   $1 = g_list_reverse (path);
 }
 
+%typemap (freearg) GList * "g_list_free_full ($1, g_free);"
+
 void gnc_quote_source_set_fq_installed (const char* version_string,
                                         GList *sources_list);
 %clear GList *;

commit 0f3da06723da423484705582632770330dc2075f
Author: TianXing_Yi <ytx.cash at gmail.com>
Date:   Sun Aug 22 13:32:23 2021 +0200

    Translation update  by TianXing_Yi <ytx.cash at gmail.com> using Weblate
    
    po/zh_CN.po: 99.7% (5353 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Chinese (Simplified))
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
    
    Translation update  by TianXing_Yi <ytx.cash at gmail.com> using Weblate
    
    po/zh_CN.po: 99.7% (5353 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Chinese (Simplified))
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
    
    Co-authored-by: TianXing_Yi <ytx.cash at gmail.com>

diff --git a/po/zh_CN.po b/po/zh_CN.po
index 4180f7adf..f61c5768f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -23,7 +23,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-06-30 07:34+0200\n"
-"PO-Revision-Date: 2021-08-16 06:35+0000\n"
+"PO-Revision-Date: 2021-08-22 11:32+0000\n"
 "Last-Translator: TianXing_Yi <ytx.cash at gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
 "gnucash/gnucash/zh_Hans/>\n"
@@ -32,7 +32,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.8-dev\n"
+"X-Generator: Weblate 4.8.1-dev\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
 #: bindings/guile/commodity-table.scm:44
@@ -2621,7 +2621,7 @@ msgstr "盈/亏"
 #: gnucash/gnome/dialog-lot-viewer.c:1048
 #, c-format
 msgid "Lots in Account %s"
-msgstr "在科目 %s 中的 Lot"
+msgstr "科目 %s 的批次"
 
 #: gnucash/gnome/dialog-order.c:171
 msgid "The Order must be given an ID."
@@ -11232,7 +11232,7 @@ msgstr ""
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:135
 msgid "Opens new tab adjacent to current tab instead of at the end"
-msgstr ""
+msgstr "新打开的标签页前置,而非最后"
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:136
 msgid ""
@@ -11415,7 +11415,7 @@ msgstr "在窗口底部显示汇总栏。"
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:225
 #: gnucash/gtkbuilder/dialog-preferences.glade:3408
 msgid "Closing a tab moves to the most recently visited tab."
-msgstr "关闭科目页后移至最近访问过的科目页。"
+msgstr "关闭标签页后移至最近访问过的标签页。"
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:226
 msgid ""
@@ -15579,7 +15579,7 @@ msgstr "<b>标题(_T)</b>"
 
 #: gnucash/gtkbuilder/dialog-lot-viewer.glade:221
 msgid "<b>_Lots in This Account</b>"
-msgstr "<b>此科目的批次(_L)</b>"
+msgstr "<b>已有批次(_L)</b>"
 
 #: gnucash/gtkbuilder/dialog-lot-viewer.glade:259
 msgid "Show only open lots"
@@ -15587,11 +15587,11 @@ msgstr "显示图表"
 
 #: gnucash/gtkbuilder/dialog-lot-viewer.glade:302
 msgid "<b>Splits _free</b>"
-msgstr "<b>自由分录(_F)</b>"
+msgstr "<b>自由交易(_F)</b>"
 
 #: gnucash/gtkbuilder/dialog-lot-viewer.glade:357
 msgid "<b>Splits _in lot</b>"
-msgstr "<b>集束分录(_I)</b>"
+msgstr "<b>集束交易(_I)</b>"
 
 #: gnucash/gtkbuilder/dialog-new-user.glade:25
 msgid "_No"
@@ -16541,7 +16541,7 @@ msgstr "关闭时保存窗口的大小和位置。"
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:3402
 msgid "Bring the most _recent tab to the front"
-msgstr "前置最近科目页(_R)"
+msgstr "移至最近标签页(_R)"
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:3434
 msgid "<b>Tab Position</b>"
@@ -16603,11 +16603,11 @@ msgstr "宽度(_W)"
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:3671
 msgid "Open new tabs _adjacent to current tab"
-msgstr "打开与当前标签相邻的新标签(_A)"
+msgstr "前置新标签页(_A)"
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:3677
 msgid "Opens new tab adjacent to current tab instead of at the end."
-msgstr ""
+msgstr "新打开的标签页前置,而非最后。"
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:3716
 msgid "Windows"
@@ -17139,11 +17139,11 @@ msgstr "循环次数"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:512
 msgid "<b>Since Last Run</b>"
-msgstr "<b>待执行计划交易</b>"
+msgstr "<b>待执行</b>"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:535
 msgid "<b>Transaction Editor Defaults</b>"
-msgstr "<b>默认交易编辑器</b>"
+msgstr "<b>默认选项</b>"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:545
 msgid "_Run when data file opened"
@@ -17197,7 +17197,7 @@ msgstr "提前提醒(_E)"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:724
 msgid "Set 'Re_view Created Transactions' as default"
-msgstr "默认核实已创建交易(_R)"
+msgstr "默认复核已创建交易(_R)"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:728
 msgid ""

commit 34f42ec9b2077df3a76ac27236e35f8c1fb1f666
Author: Avi Markovitz <avi.markovitz at gmail.com>
Date:   Sun Aug 22 13:32:23 2021 +0200

    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/glossary/he.po: 100.0% (209 of 209 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Glossary (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Co-authored-by: Avi Markovitz <avi.markovitz at gmail.com>

diff --git a/po/glossary/he.po b/po/glossary/he.po
index 4a845813a..8a30fe810 100644
--- a/po/glossary/he.po
+++ b/po/glossary/he.po
@@ -10,7 +10,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-01-10 08:00+0100\n"
-"PO-Revision-Date: 2021-08-20 10:33+0000\n"
+"PO-Revision-Date: 2021-08-22 08:35+0000\n"
 "Last-Translator: Avi Markovitz <avi.markovitz at gmail.com>\n"
 "Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/glossary/"
 "he/>\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
 "n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 4.8-dev\n"
+"X-Generator: Weblate 4.8.1-dev\n"
 
 #. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
 msgid "Term (Dear translator: This file will never be visible to the user!)"
@@ -516,7 +516,7 @@ msgstr "מזכר"
 
 #. "(a) An agreement by which money is lent by a bank for buying a house or other property, the property being the security. (b) A sum of money lent in this way."
 msgid "Mortgage"
-msgstr "משכנתא"
+msgstr "משכנתה"
 
 #. "Adjustable Rate Mortgage"
 msgid "mortgage: ARM"
diff --git a/po/he.po b/po/he.po
index a857cc88b..29a0f59a1 100644
--- a/po/he.po
+++ b/po/he.po
@@ -11,8 +11,8 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-06-30 07:34+0200\n"
-"PO-Revision-Date: 2021-08-20 15:36+0000\n"
-"Last-Translator: Yaron Shahrabani <sh.yaron at gmail.com>\n"
+"PO-Revision-Date: 2021-08-22 11:32+0000\n"
+"Last-Translator: Avi Markovitz <avi.markovitz at gmail.com>\n"
 "Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/gnucash/"
 "he/>\n"
 "Language: he\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.8-dev\n"
+"X-Generator: Weblate 4.8.1-dev\n"
 "X-Poedit-Basepath: .\n"
 
 #: bindings/guile/commodity-table.scm:44
@@ -11190,23 +11190,23 @@ msgstr "כיווץ קובץ נתונים"
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:31
 msgid "Enables file compression when writing the data file."
-msgstr "אפשור דחיסת קובץ בכתיבה לקובץ נתונים."
+msgstr "אפשור דחיסת קובץ בעת כתיבה לקובץ נתונים."
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:35
 msgid "Show auto-save explanation"
-msgstr "הצגת הסבר שמירה אוטומטית"
+msgstr "הצגת הסבר על אודות שמירה אוטומטית"
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:36
 msgid ""
 "If active, GnuCash shows an explanation of the auto-save feature the first "
 "time that feature is started. Otherwise no extra explanation is shown."
 msgstr ""
-"במידה והאפשרות הופעלה, גנוקאש יציג הסבר על תכונת השמירה האוטומטית בפעם "
-"הראשונה שהתכונה מתחילה. אחרת לא יוצג הסבר נוסף."
+"אם האפשרות הופעלה, גנוקאש יציג הסבר על תכונת השמירה האוטומטית עם אתחול "
+"התכונה לראשונה. אחרת לא יוצג הסבר נוסף."
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:40
 msgid "Auto-save time interval"
-msgstr "מחזור זמן שמירה אוטומטית"
+msgstr "מחזור זמן לשמירה אוטומטית"
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:41
 #: gnucash/gtkbuilder/dialog-preferences.glade:1670

commit 71ad5c8383a4fa407c59ba13d9bb95860a34ad5d
Author: Yaron Shahrabani <sh.yaron at gmail.com>
Date:   Sun Aug 22 13:32:22 2021 +0200

    Translation update  by Yaron Shahrabani <sh.yaron at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Co-authored-by: Yaron Shahrabani <sh.yaron at gmail.com>

diff --git a/po/he.po b/po/he.po
index d81d049fa..a857cc88b 100644
--- a/po/he.po
+++ b/po/he.po
@@ -12,7 +12,7 @@ msgstr ""
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-06-30 07:34+0200\n"
 "PO-Revision-Date: 2021-08-20 15:36+0000\n"
-"Last-Translator: Avi Markovitz <avi.markovitz at gmail.com>\n"
+"Last-Translator: Yaron Shahrabani <sh.yaron at gmail.com>\n"
 "Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/gnucash/"
 "he/>\n"
 "Language: he\n"
@@ -13299,8 +13299,8 @@ msgid ""
 "If not satisfied with the available templates, please read the wiki page "
 "linked below and share your new or improved template."
 msgstr ""
-"במידה והתבניות הזמינות אינן מספקות, נא לעיין בעמוד הוויקי שלהלן, שם ניתן "
-"לשתף תבניות חדשות אותם יצרתם."
+"אם התבניות הזמינות אינן מספקות, נא לעיין בעמוד הוויקי שלהלן, שם ניתן לשתף "
+"תבניות חדשות שיצרת."
 
 #: gnucash/gtkbuilder/assistant-hierarchy.glade:490
 msgid ""

commit e513557011b0aea736eb7c0e0a4fb87cd7ebc5d3
Author: Avi Markovitz <avi.markovitz at gmail.com>
Date:   Sun Aug 22 13:32:22 2021 +0200

    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/glossary/he.po: 100.0% (209 of 209 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Glossary (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Co-authored-by: Avi Markovitz <avi.markovitz at gmail.com>

diff --git a/po/glossary/he.po b/po/glossary/he.po
index d26168764..4a845813a 100644
--- a/po/glossary/he.po
+++ b/po/glossary/he.po
@@ -10,7 +10,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-01-10 08:00+0100\n"
-"PO-Revision-Date: 2021-08-17 11:34+0000\n"
+"PO-Revision-Date: 2021-08-20 10:33+0000\n"
 "Last-Translator: Avi Markovitz <avi.markovitz at gmail.com>\n"
 "Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/glossary/"
 "he/>\n"
diff --git a/po/he.po b/po/he.po
index 115b8d97f..d81d049fa 100644
--- a/po/he.po
+++ b/po/he.po
@@ -11,7 +11,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-06-30 07:34+0200\n"
-"PO-Revision-Date: 2021-08-15 07:35+0000\n"
+"PO-Revision-Date: 2021-08-20 15:36+0000\n"
 "Last-Translator: Avi Markovitz <avi.markovitz at gmail.com>\n"
 "Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/gnucash/"
 "he/>\n"
@@ -1743,9 +1743,9 @@ msgid ""
 "Double click on the entry in the Available column to modify the document "
 "link."
 msgstr ""
-"הקשה כפולה על עמודת המזהה כדי לעבור אל הפריט העסקי.\n"
-"הקשה כפולה על עמודת הקישור כדי לפתוח את המסמך המקושר.\n"
-"הקשה כפולה על עמודת זמינות כדי לשנות את קישור המסמך."
+"הקשה כפולה על עמודת המזהה לדילוג לפריט העסקי.\n"
+"הקשה כפולה על עמודת הקישור לפתיחת הצרופה.\n"
+"הקשה כפולה על עמודת זמינות כדי לשינוי צרופה."
 
 #: gnucash/gnome/dialog-doclink.c:1097
 msgid "Business Document Links"
@@ -2341,7 +2341,7 @@ msgstr "הצגת שובר הוצאות"
 
 #: gnucash/gnome/dialog-invoice.c:2518
 msgid "Open Linked Document:"
-msgstr "מסמך מקושר פתוח:"
+msgstr "פתיחת צרופה:"
 
 #: gnucash/gnome/dialog-invoice.c:2632 gnucash/gnome/dialog-invoice.c:2857
 msgid "Bill Information"
@@ -3570,11 +3570,11 @@ msgstr "הצגה ומחיקת מידע בייסיאני ולא בייסיאני"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:216
 msgid "_Transaction Linked Documents"
-msgstr "_מסמכים מקושרי תנועה"
+msgstr "_צרופות תנועה"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:217
 msgid "View all Transaction Linked Documents"
-msgstr "הצגת כל המסמכים מקושרי התנועה"
+msgstr "הצגת כל צרופות התנועה"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:224
 msgid "_Tips Of The Day"
@@ -3817,11 +3817,11 @@ msgstr "פתיחת דו־שיח חיפוש שובר הוצאות"
 
 #: gnucash/gnome/gnc-plugin-business.c:278
 msgid "Business Linked Documents"
-msgstr "עסקי – מסמכים מקושרים"
+msgstr "עסקי – צרופות"
 
 #: gnucash/gnome/gnc-plugin-business.c:279
 msgid "View all Linked Business Documents"
-msgstr "הצגת כל המסמכים העסקיים המקושרים"
+msgstr "הצגת כל הצרופות העסקיות"
 
 #: gnucash/gnome/gnc-plugin-business.c:283
 msgid "Sales _Tax Table"
@@ -4578,7 +4578,7 @@ msgstr "_ניהול מסמכים מקושרים…"
 #: gnucash/gnome/gnc-plugin-page-invoice.c:367
 #: gnucash/gnome/gnc-plugin-page-register.c:304
 msgid "_Open Linked Document"
-msgstr "_פתיחת מסמך מקושר"
+msgstr "_פתיחת צרופה"
 
 #: gnucash/gnome/gnc-plugin-page-invoice.c:310
 msgid "_Use as Default Layout for Customer Documents"
@@ -4730,7 +4730,7 @@ msgstr "פתיחת חלון דוח לקוח עבור נמען חשבונית ז
 #: gnucash/gnome/gnc-plugin-page-invoice.c:446
 #: gnucash/gnome/gnc-plugin-page-register.c:632
 msgid "Open Linked Document"
-msgstr "פתיחת מסמך מקושר"
+msgstr "פתיחת צרופה"
 
 #: gnucash/gnome/gnc-plugin-page-invoice.c:388
 msgid ""
@@ -5361,7 +5361,7 @@ msgstr "שורה _כפולה"
 msgid ""
 "Show a second line with \"Action\", \"Notes\", and \"Linked Document\" for "
 "each transaction."
-msgstr "הצגת שורה נוספת לכל תנועה הכוללת 'פעולה', 'הערות', ו־'מסמך מקושר'."
+msgstr "הצגת שורה נוספת לכל תנועה הכוללת 'פעולה', 'הערות', ו'צרופה'."
 
 #: gnucash/gnome/gnc-plugin-page-register2.c:430
 msgid "Show _Extra Dates"
@@ -5623,15 +5623,15 @@ msgstr "דילוג לחשבונית"
 
 #: gnucash/gnome/gnc-plugin-page-register.c:318
 msgid "Add, change, or unlink the document linked with the current transaction"
-msgstr "הוספה, שינוי או ביטול קישור למסמך המקושר לתנועה הנוכחית"
+msgstr "הוספה, שינוי או ביטול קישור לצרופה לתנועה הנוכחית"
 
 #: gnucash/gnome/gnc-plugin-page-register.c:319
 msgid "Open the linked document for the current transaction"
-msgstr "פתיחת הקובץ המקושר לתנועה הנוכחית"
+msgstr "פתיחת הצרופה המקושרת לתנועה הנוכחית"
 
 #: gnucash/gnome/gnc-plugin-page-register.c:320
 msgid "Jump to the linked bill, invoice, or voucher"
-msgstr "קפיצה אל הודעת החיוב, החשבונית או השובר המקושרים"
+msgstr "דילוג אל הודעת החיוב, החשבונית או השובר המקושרים"
 
 #: gnucash/gnome/gnc-plugin-page-register.c:409
 msgid "Remo_ve Other Splits"
@@ -5759,7 +5759,7 @@ msgstr "%s %s מאת %s, פורסם ב־%s, סכום %s"
 
 #: gnucash/gnome/gnc-plugin-page-register.c:4772
 msgid "Several documents are linked with this transaction. Please choose one:"
-msgstr "מגוון מסמכים מקושרים לתנועה הזו. נא לבחור אחד מהם:"
+msgstr "יותר צרופה אחת מקושרת לתנועה הזו. נא לבחור באחת מהן:"
 
 #: gnucash/gnome/gnc-plugin-page-register.c:4773
 #: gnucash/gnome-search/dialog-search.c:323
@@ -6293,7 +6293,7 @@ msgstr "_הסרת פיצולים"
 
 #: gnucash/gnome/gnc-split-reg.c:1299
 msgid "Change a Transaction Linked Document"
-msgstr "שינוי קישור למסמך המקושר לתנועה"
+msgstr "שינוי צרופה המקושרת לתנועה"
 
 #: gnucash/gnome/gnc-split-reg.c:1440
 #: gnucash/gnome-utils/gnc-tree-control-split-reg.c:963
@@ -8439,11 +8439,11 @@ msgstr "מיקום צפוי"
 #: gnucash/gnome-utils/gnc-gnome-utils.c:510
 #: gnucash/gnome-utils/gnc-gnome-utils.c:550
 msgid "GnuCash could not find the linked document."
-msgstr "גנוקאש לא מצאה את הקובץ המקושר."
+msgstr "גנוקאש לא מצאה את הצרופה."
 
 #: gnucash/gnome-utils/gnc-gnome-utils.c:580
 msgid "GnuCash could not open the linked document:"
-msgstr "גנוקאש לא הצליחה לפתוח את הקובץ המקושר:"
+msgstr "גנוקאש לא הצליחה לפתוח את הצרופה:"
 
 #. Translators: %s is a path to a database or any other url,
 #. like mysql://user@server.somewhere/somedb, https://www.somequotes.com/thequotes
@@ -10105,8 +10105,8 @@ msgid ""
 "Set the prefix for gsettings schemas for gsettings queries. This can be "
 "useful to have a different settings tree while debugging."
 msgstr ""
-"הגדרת הקידומת בסכימות gsettings לשאילתות gsettings. עשוי להיות שימושי במהלך "
-"איתור תקלים להחזיק עץ הגדרות שונה."
+"הגדרת הקידומת בסכימות gsettings עבור שאילתות gsettings. עשוי להיות שימושי, "
+"שיהיה עץ הגדרות שונה, במהלך ניפוי תקלים."
 
 #: gnucash/gnucash-core-app.cpp:344
 msgid "Hidden Options"
@@ -11177,12 +11177,12 @@ msgstr ""
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:25
 msgid "Transaction Linked Files head path"
-msgstr "נתיב ראשי לקבצים המקושרים לתנועה"
+msgstr "נתיב ראשי לצרופות מקושרות לתנועה"
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:26
 msgid ""
 "This is the path head for the Transaction Linked Files with relative paths"
-msgstr "הנתיב הראשי אל הקובצים המקושרים לתנועה עם נתיבים יחסיים"
+msgstr "זהו הנתיב הראשי, לצרופות עם נתיבים יחסיים, המקושרות לתנועה"
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:30
 msgid "Compress the data file"
@@ -11377,8 +11377,8 @@ msgid ""
 "account's custom color if set. This can serve as a visual aid to quickly "
 "identify accounts."
 msgstr ""
-"במידה והאפשרות הופעלה, תרשים החשבונות יצבע את החשבון בצבע המותאם אישית של "
-"החשבון ככל שנקבע לו צבע. יכול לשמש כעזר חזותי לזיהוי חשבונות במהירות."
+"במידה והאפשרות הופעלה, החשבון יוצג בתרשים החשבונות בצבע מותאם אישית, ככל "
+"שנקבע לחשבון צבע. יכול לשמש כעזר חזותי לזיהוי חשבונות במהירות."
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:115
 msgid "Use account colors in the tabs of open account registers"
@@ -11834,7 +11834,7 @@ msgstr "כל התנועות הורחבו להצגת כל הפיצולים."
 msgid ""
 "Show a second line with \"Action\", \"Notes\", and \"Linked Documents\" for "
 "each transaction."
-msgstr "הצגת שורה נוספת בכל תנועה הכוללת 'פעולה', 'הערות', ו־'מסמכים מקושרים'."
+msgstr "הצגת שורה נוספת בכל תנועה הכוללת 'פעולה', 'הערות', ו'צרופות'."
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:306
 msgid ""
@@ -11843,9 +11843,9 @@ msgid ""
 "register is first opened. The setting can be changed at any time via the "
 "\"View->Double Line\" menu item."
 msgstr ""
-"הצגת שורה נוספת ביומן לכל תנועה הכוללת 'פעולה', 'הערות', ו־'מסמכים מקושרים'. "
-"זוהי הגדרת ברירת המחדל עבור יומן שנפתח לראשונה. ניתן לשנות את ההגדרה בכל עת "
-"מפריט 'מצג ← שורה כפולה'."
+"הצגת שורה נוספת ביומן, לכל תנועה הכוללת 'פעולה', 'הערות', ו'צרופות'. זוהי "
+"הגדרת ברירת המחדל עבור יומן שנפתח לראשונה. ניתן לשנות את ההגדרה בכל עת מפריט "
+"'מצג ← שורה כפולה'."
 
 #: gnucash/gschemas/org.gnucash.gschema.xml.in:310
 msgid "Only display leaf account names."
@@ -13308,8 +13308,8 @@ msgid ""
 "account hierarchy. Accounts can be added, renamed, moved, or deleted by hand "
 "later at any time."
 msgstr ""
-"הבחירות שיעשו כאן הן רק נקודת הפתיחה לעץ החשבונות המותאם אישית. בהמשך ניתן "
-"יהיה להוסיף, לשנות שמות, להעביר ולמחוק חשבונות בכל עת."
+"הבחירות שיעשו כאן הן רק נקודת הפתיחה לתרשים חשבונות מותאם אישית. ניתן יהיה "
+"להוסיף בהמשך, לשנות שמות, להעביר ולמחוק חשבונות בכל עת."
 
 #: gnucash/gtkbuilder/assistant-hierarchy.glade:507
 msgid "GnuCash Account Template Wiki"
@@ -15206,7 +15206,7 @@ msgstr "שאלה"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:49
 msgid "Change Linked Document path head"
-msgstr "שינוי נתיב ראשי למסמך מקושר"
+msgstr "שינוי נתיב ראשי לצרופה"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:85
 msgid ""
@@ -15250,7 +15250,7 @@ msgstr "מיקום אינו מתחיל בסכימה תקינה"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:536
 msgid "Reload and Locate Linked Documents"
-msgstr "טעינה מחודשת ואיתור מסמכים מקושרים"
+msgstr "טעינה מחודשת ואיתור צרופות"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:550
 msgid "_Reload"
@@ -15258,11 +15258,11 @@ msgstr "_טעינה חוזרת"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:564
 msgid "_Locate Linked Documents"
-msgstr "_איתור מסמכים מקושרים"
+msgstr "_איתור צרופות"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:604
 msgid "All Linked Documents"
-msgstr "כל המסמכים המקושרים"
+msgstr "כל הצרופות"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:658
 msgid "Id"
@@ -15270,7 +15270,7 @@ msgstr "מזהה"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:686
 msgid "Linked Document"
-msgstr "מסמך מקושר"
+msgstr "צרופה"
 
 #: gnucash/gtkbuilder/dialog-doclink.glade:703
 msgid "Available"
@@ -15288,9 +15288,9 @@ msgid ""
 "Double click on the entry in the Available column to modify the document "
 "link."
 msgstr ""
-"הקשה כפולה על עמודת התיאור כדי לדילוג אל התנועה.\n"
-"הקשה כפולה על עמודת הקישור כדי לפתוח את המסמך המקושר.\n"
-"הקשה כפולה על עמודת הזמינות כדי לשנות את קישור המסמך."
+"הקשה כפולה על עמודת התיאור לדילוג אל התנועה.\n"
+"הקשה כפולה על עמודת הקישור לפתיחת המסמך המקושר.\n"
+"הקשה כפולה על עמודת הזמינות לשינוי הצרופה."
 
 #: gnucash/gtkbuilder/dialog-employee.glade:166
 msgid ""
@@ -15541,7 +15541,7 @@ msgid ""
 "if account should not be shown, this will be temporarily overridden."
 msgstr ""
 "נא לבחור שורה ולהקיש על 'דילוג אל' לדילוג לחשבון בתרשים החשבונות,\n"
-"במידה והחשבון הוגדר כמוסתר, פעולה זו תציג את החשבון בכל זאת, באופן זמני."
+"במידה והחשבון הוגדר כמוסתר, פעולה זו תציג את החשבון, באופן זמני, בכל זאת."
 
 #: gnucash/gtkbuilder/dialog-imap-editor.glade:35
 msgid "Import Map Editor"
@@ -16470,7 +16470,7 @@ msgstr "שניות"
 #: gnucash/gtkbuilder/dialog-preferences.glade:1873
 #: gnucash/gtkbuilder/dialog-preferences.glade:1891
 msgid "Path head for Linked Files Relative Paths"
-msgstr "נתיב ראשי לנתיבי קבצים מקושרים יחסיים"
+msgstr "נתיב ראשי לצרופות עם נתיבים יחסיים"
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:1920
 msgid "Enable horizontal grid lines on table displays"
@@ -16481,7 +16481,8 @@ msgid ""
 "Enable horizontal grid lines on table displays. These will mainly be tree "
 "views like the Accounts page."
 msgstr ""
-"אפשור קווי שבכה אופקית בתצוגת טבלה. בעיקר יחול על תצוגות עץ כמו עמוד חשבונות."
+"אפשור קווי שבכה אופקית בתצוגת טבלה. בעיקר יחול על מצגי עץ, כמו עמוד תרשים "
+"חשבונות."
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:1937
 msgid "Enable vertical grid lines on table displays"
@@ -16492,11 +16493,12 @@ msgid ""
 "Enable vertical grid lines on table displays. These will mainly be tree "
 "views like the Accounts page."
 msgstr ""
-"אפשור קווי שבכה אנכיים בתצוגת טבלה. בעיקר יחול על תצוגות עץ כמו עמוד חשבונות."
+"אפשור קווי שבכה אנכיים בתצוגת טבלה. בעיקר יחול על מצגי עץ, כמו עמוד תרשים "
+"חשבונות."
 
 #: gnucash/gtkbuilder/dialog-preferences.glade:1957
 msgid "<b>Linked Files</b>"
-msgstr "<b>קישור קובים</b>"
+msgstr "<b>צרופות</b>"
 
 #. Preferences->Online Banking:Generic
 #: gnucash/gtkbuilder/dialog-preferences.glade:2052
@@ -18449,7 +18451,7 @@ msgstr "_מספר תנועה"
 #: gnucash/gtkbuilder/gnc-plugin-page-register2.glade:163
 #: gnucash/gtkbuilder/gnc-plugin-page-register.glade:721
 msgid "Keep Linked Document Entry"
-msgstr "להשאיר את המסמך המצורף לרשומה מקושר"
+msgstr "להשאיר את רשומת הצרופה"
 
 #. Filter register by... Dialog
 #: gnucash/gtkbuilder/gnc-plugin-page-register2.glade:215
@@ -28311,7 +28313,7 @@ msgstr "הצגת קוד החשבון הנגדי?"
 
 #: gnucash/report/trep-engine.scm:929
 msgid "Display the transaction linked document"
-msgstr "הצגת המסמך שמקושר לתנועה"
+msgstr "הצגת הצרופה שמקושרת לתנועה"
 
 #: gnucash/report/trep-engine.scm:932
 msgid "Display a subtotal summary table."

commit c398bef59719c2c53ede8d4ca4d680ee48e613bf
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Aug 21 00:29:41 2021 +0800

    [window-main-summarybar] move mnemonic to get_total_mode_label
    
    avoiding static char* reassignment

diff --git a/gnucash/gnome-utils/window-main-summarybar.c b/gnucash/gnome-utils/window-main-summarybar.c
index 4765ea62a..503dc703c 100644
--- a/gnucash/gnome-utils/window-main-summarybar.c
+++ b/gnucash/gnome-utils/window-main-summarybar.c
@@ -296,11 +296,14 @@ gnc_ui_accounts_recurse (Account *parent, GList **currency_list,
 }
 
 static char*
-get_total_mode_label(const char *mnemonic, int total_mode)
+get_total_mode_label (GNCCurrencyAcc *currency_accum)
 {
+    const char *mnemonic = gnc_commodity_get_nice_symbol (currency_accum->currency);
     char *label_str;
+    if (mnemonic == NULL)
+        mnemonic = "";
     // i.e., "$, grand total," [profits: $12,345.67, assets: $23,456.78]
-    switch (total_mode)
+    switch (currency_accum->total_mode)
     {
     case TOTAL_CURR_TOTAL:
         label_str = g_strdup_printf( _("%s, Total:"), mnemonic );
@@ -395,15 +398,10 @@ gnc_main_window_summary_refresh (GNCMainSummary * summary)
         gtk_list_store_clear(summary->datamodel);
         for (current = g_list_first(currency_list); current; current = g_list_next(current))
         {
-            const char *mnemonic;
             gchar *total_mode_label;
 
             currency_accum = current->data;
 
-            mnemonic = gnc_commodity_get_nice_symbol (currency_accum->currency);
-            if (mnemonic == NULL)
-                mnemonic = "";
-
             xaccSPrintAmount(asset_amount_string,
                              currency_accum->assets,
                              gnc_commodity_print_info(currency_accum->currency, TRUE));
@@ -413,7 +411,7 @@ gnc_main_window_summary_refresh (GNCMainSummary * summary)
                              gnc_commodity_print_info(currency_accum->currency, TRUE));
 
             gtk_list_store_append(summary->datamodel, &iter);
-            total_mode_label = get_total_mode_label(mnemonic, currency_accum->total_mode);
+            total_mode_label = get_total_mode_label (currency_accum);
             gtk_list_store_set(summary->datamodel, &iter,
                                COLUMN_MNEMONIC_TYPE, total_mode_label,
                                COLUMN_ASSETS,        _("Net Assets:"),

commit 7e41efc23203a681156bd71c269a35d04650f480
Merge: ff2ceb111 028bf9826
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 21:23:35 2021 +0800

    Merge branch 'maint-speedup-and-leaks' into maint #1109
    
    Speedup xaccSplitGetOtherSplit


commit ff2ceb111d08dd723fac430479b8aca0437cfa1b
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 09:27:16 2021 +0800

    [gnc-commodity] GValue must be unset

diff --git a/libgnucash/engine/gnc-commodity.c b/libgnucash/engine/gnc-commodity.c
index 2d6998def..56763e7a0 100644
--- a/libgnucash/engine/gnc-commodity.c
+++ b/libgnucash/engine/gnc-commodity.c
@@ -1183,11 +1183,13 @@ const char*
 gnc_commodity_get_user_symbol(const gnc_commodity *cm)
 {
     GValue v = G_VALUE_INIT;
+    static char* retval = NULL;
     if (!cm) return NULL;
     qof_instance_get_kvp (QOF_INSTANCE(cm), &v, 1, "user_symbol");
-    if (G_VALUE_HOLDS_STRING (&v))
-        return g_value_get_string (&v);
-    return NULL;
+    g_free (retval);
+    retval = G_VALUE_HOLDS_STRING (&v) ? g_value_dup_string (&v): NULL;
+    g_value_unset (&v);
+    return retval;
 }
 
 /********************************************************************

commit 9fc1ac6be17d67e3006ac2cdbb1bd34feceb93e9
Merge: 9bc44c62e c4a0fb468
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 17:02:19 2021 +0800

    Merge branch 'maint-guile-changes' into maint #1111


commit 9bc44c62e6d17b5a7e2c804e0503d2ea4fa7aec4
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 17:01:20 2021 +0800

    [engine.i] free GSList* key_path arg to qof_book_get_option
    
    Addendum to 6c8af6aab need to specify exact typemap target.

diff --git a/bindings/engine.i b/bindings/engine.i
index ce114f0d2..23f89c96b 100644
--- a/bindings/engine.i
+++ b/bindings/engine.i
@@ -275,7 +275,7 @@ Account * gnc_book_get_template_root(QofBook *book);
 %typemap(in) KvpValue * " $1 = gnc_scm_to_kvp_value_ptr($input); "
 %typemap(out) KvpValue * " $result = gnc_kvp_value_ptr_to_scm($1); "
 %typemap(in) GSList *key_path " $1 = gnc_scm_to_gslist_string($input);"
-%typemap(freearg) GSList * "g_slist_free_full ($1, g_free);"
+%typemap(freearg) GSList *key_path "g_slist_free_full ($1, g_free);"
 
 QofBook* qof_book_new (void);
 void qof_book_options_delete (QofBook *book, GSList *key_path);

commit 15b8545e2f30c579000c21288039423ba37d5e42
Merge: 57866eed8 6c8af6aab
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 09:24:33 2021 +0800

    Merge branch 'maint-leaks' into maint #1113


commit 6c8af6aab168534a2bd65fb3ca6fa47fa450ef3e
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 00:00:06 2021 +0800

    [engine.i] free GSList* arg to qof_book_get_option

diff --git a/bindings/engine.i b/bindings/engine.i
index 2b567fcdb..ce114f0d2 100644
--- a/bindings/engine.i
+++ b/bindings/engine.i
@@ -275,6 +275,7 @@ Account * gnc_book_get_template_root(QofBook *book);
 %typemap(in) KvpValue * " $1 = gnc_scm_to_kvp_value_ptr($input); "
 %typemap(out) KvpValue * " $result = gnc_kvp_value_ptr_to_scm($1); "
 %typemap(in) GSList *key_path " $1 = gnc_scm_to_gslist_string($input);"
+%typemap(freearg) GSList * "g_slist_free_full ($1, g_free);"
 
 QofBook* qof_book_new (void);
 void qof_book_options_delete (QofBook *book, GSList *key_path);

commit 4cf25cb7be27480dbfc92a0b6ebe83d288e23caf
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Aug 19 22:28:02 2021 +0800

    GList* from gtk_container_get_children must be freed
    
    fix leaks

diff --git a/borrowed/goffice/go-optionmenu.c b/borrowed/goffice/go-optionmenu.c
index a145e2d38..670a92bc6 100644
--- a/borrowed/goffice/go-optionmenu.c
+++ b/borrowed/goffice/go-optionmenu.c
@@ -180,6 +180,8 @@ static void handle_menu_signals(GOOptionMenu *option_menu, gboolean connect)
 
         }
     }
+
+    g_list_free (children);
 }
 
 void go_option_menu_set_menu(GOOptionMenu *option_menu, GtkWidget *menu)
@@ -233,8 +235,9 @@ void go_option_menu_set_history(GOOptionMenu *option_menu, GSList *selection)
         while (1)
         {
             int n = GPOINTER_TO_INT(selection->data);
-            GtkMenuItem *item = g_list_nth_data(
-                    gtk_container_get_children(GTK_CONTAINER(menu)), n);
+            GList *children = gtk_container_get_children (GTK_CONTAINER(menu));
+            GtkMenuItem *item = g_list_nth_data (children, n);
+            g_list_free (children);
             selection = selection->next;
             if (selection)
                 menu = GTK_MENU_SHELL(gtk_menu_item_get_submenu(item));
diff --git a/gnucash/gnome-search/dialog-search.c b/gnucash/gnome-search/dialog-search.c
index 84f2c782b..0fe357c69 100644
--- a/gnucash/gnome-search/dialog-search.c
+++ b/gnucash/gnome-search/dialog-search.c
@@ -888,13 +888,12 @@ gnc_search_dialog_book_option_changed (gpointer new_val, gpointer user_data)
     for (l = sw->crit_list; l; l = l->next)
     {
         struct _crit_data *data = l->data;
-        GList *children;
+        GList *children = gtk_container_get_children (GTK_CONTAINER(data->container));
 
         /* For each, walk the list of container children to get combo_box */
-        for (children = gtk_container_get_children(GTK_CONTAINER(data->container));
-                children; children = children->next)
+        for (GList *child = children; child; child = g_list_next (child))
         {
-            GtkWidget *combo_box = children->data;
+            GtkWidget *combo_box = child->data;
 
             /* Get current active item if combo_box */
             if (GTK_IS_COMBO_BOX(combo_box))
@@ -918,6 +917,7 @@ gnc_search_dialog_book_option_changed (gpointer new_val, gpointer user_data)
                 gtk_widget_show_all (data->container);
             }
         }
+        g_list_free (children);
     }
     gtk_widget_grab_focus(focused_widget);
 }
diff --git a/gnucash/gnome-utils/dialog-options.c b/gnucash/gnome-utils/dialog-options.c
index e3f9d27e6..c4f081826 100644
--- a/gnucash/gnome-utils/dialog-options.c
+++ b/gnucash/gnome-utils/dialog-options.c
@@ -3537,12 +3537,9 @@ gnc_option_set_ui_value_radiobutton (GNCOption *option, gboolean use_default,
         g_list_free(list);
 
         list = gtk_container_get_children (GTK_CONTAINER(box));
-        for (i = 0; i < index && list; i++)
-            list = list->next;
-        g_return_val_if_fail (list, TRUE);
-
-        button = list->data;
+        button = g_list_nth_data (list, index);
         g_list_free (list);
+        g_return_val_if_fail (button, TRUE);
         val = g_object_get_data (G_OBJECT(button), "gnc_radiobutton_index");
         g_return_val_if_fail (GPOINTER_TO_INT(val) == index, TRUE);
 
diff --git a/gnucash/gnome-utils/gnc-main-window.c b/gnucash/gnome-utils/gnc-main-window.c
index f9ceea985..45dd06253 100644
--- a/gnucash/gnome-utils/gnc-main-window.c
+++ b/gnucash/gnome-utils/gnc-main-window.c
@@ -2493,14 +2493,15 @@ main_window_update_page_set_read_only_icon (GncPluginPage *page,
     if (GTK_IS_EVENT_BOX(tab_widget))
         tab_widget = gtk_bin_get_child (GTK_BIN(tab_widget));
 
+    children = gtk_container_get_children (GTK_CONTAINER(tab_widget));
     /* For each, walk the list of container children to get image widget */
-    for (children = gtk_container_get_children (GTK_CONTAINER(tab_widget));
-            children; children = children->next)
+    for (GList *child = children; child; child = g_list_next (child))
     {
-        GtkWidget *widget = children->data;
+        GtkWidget *widget = child->data;
         if (GTK_IS_IMAGE(widget))
             image = widget;
     }
+    g_list_free (children);
 
     if (!image)
     {

commit c442192bb40ea05b88c275b9a176f92891f3ea56
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Aug 15 17:03:08 2021 +0800

    [gnc-amount-edit] g_free char* empty string.
    
    1 byte is allocated if filtered_string is the empty string. free it.

diff --git a/gnucash/gnome-utils/gnc-amount-edit.c b/gnucash/gnome-utils/gnc-amount-edit.c
index 61ad6fa88..9917925b1 100644
--- a/gnucash/gnome-utils/gnc-amount-edit.c
+++ b/gnucash/gnome-utils/gnc-amount-edit.c
@@ -386,6 +386,7 @@ gnc_amount_edit_expr_is_valid (GNCAmountEdit *gae, gnc_numeric *amount,
     if (!filtered_string || *filtered_string == '\0')
     {
         *amount = gnc_numeric_zero ();
+        g_free (filtered_string);
         if (empty_ok)
             return -1; /* indicate an empty field */
         else

commit c4a0fb468b2a74b4e9f7a5a614fd607e0aae9cac
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Aug 19 19:33:17 2021 +0800

    [srfi64-extras.scm] exit instead of return #t if no failures
    
    due to change in guile-3.0.7 to fix srfi64 bug

diff --git a/bindings/guile/test/srfi64-extras.scm b/bindings/guile/test/srfi64-extras.scm
index b41baee43..e572e988a 100644
--- a/bindings/guile/test/srfi64-extras.scm
+++ b/bindings/guile/test/srfi64-extras.scm
@@ -45,5 +45,5 @@
       (lambda (runner)
         (format #t "Source:~a\npass = ~a, fail = ~a\n"
                 (test-result-ref runner 'source-file) num-passed num-failed)
-        (zero? num-failed)))
+        (exit (zero? num-failed))))
     runner))

commit 57866eed88eb76e74e5f292cb3d64dab66c3d14e
Author: Christian Wehling <christian.wehling at web.de>
Date:   Tue Aug 17 13:34:16 2021 +0200

    Translation update  by Christian Wehling <christian.wehling at web.de> using Weblate
    
    po/de.po: 99.8% (5357 of 5364 strings; 7 fuzzy)
    250 failing checks (4.6%)
    Translation: GnuCash/Program (German)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/de/
    
    Co-authored-by: Christian Wehling <christian.wehling at web.de>

diff --git a/po/de.po b/po/de.po
index f1e3f9de6..a06d46b21 100644
--- a/po/de.po
+++ b/po/de.po
@@ -36,7 +36,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-06-30 07:34+0200\n"
-"PO-Revision-Date: 2021-08-10 17:35+0000\n"
+"PO-Revision-Date: 2021-08-16 20:35+0000\n"
 "Last-Translator: Christian Wehling <christian.wehling at web.de>\n"
 "Language-Team: German <https://hosted.weblate.org/projects/gnucash/gnucash/"
 "de/>\n"
@@ -29966,7 +29966,7 @@ msgstr ""
 
 #: libgnucash/app-utils/business-prefs.scm:173
 msgid "The electronic tax number of your business"
-msgstr "Die Elster-Steuernummer Ihrer Unternehmung"
+msgstr "Die Elster-Steuernummer Ihres Geschäfts"
 
 #: libgnucash/app-utils/date-utilities.scm:523
 #, scheme-format

commit 2727259f59626d68bfe0712b78153f5de22d84a4
Author: Avi Markovitz <avi.markovitz at gmail.com>
Date:   Tue Aug 17 13:34:16 2021 +0200

    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/glossary/he.po: 100.0% (209 of 209 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Glossary (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/glossary/he.po: 100.0% (209 of 209 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Glossary (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/glossary/he/
    
    Translation update  by Avi Markovitz <avi.markovitz at gmail.com> using Weblate
    
    po/he.po: 100.0% (5364 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Hebrew)
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/he/
    
    Co-authored-by: Avi Markovitz <avi.markovitz at gmail.com>

diff --git a/po/glossary/he.po b/po/glossary/he.po
index 2362277c9..d26168764 100644
--- a/po/glossary/he.po
+++ b/po/glossary/he.po
@@ -10,7 +10,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-01-10 08:00+0100\n"
-"PO-Revision-Date: 2021-07-28 15:33+0000\n"
+"PO-Revision-Date: 2021-08-17 11:34+0000\n"
 "Last-Translator: Avi Markovitz <avi.markovitz at gmail.com>\n"
 "Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/glossary/"
 "he/>\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
 "n % 10 == 0) ? 2 : 3));\n"
-"X-Generator: Weblate 4.7.2-dev\n"
+"X-Generator: Weblate 4.8-dev\n"
 
 #. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
 msgid "Term (Dear translator: This file will never be visible to the user!)"
@@ -608,7 +608,7 @@ msgstr "תיק השקעות"
 
 #. "Register invoice, voucher in account register"
 msgid "post, to"
-msgstr "רישום, ל"
+msgstr "רישום, ל־"
 
 #. "A menu choice in many graphical user interface applications that allows the user to specify how the application will act each time it is used. "
 msgid "preferences"
diff --git a/po/he.po b/po/he.po
index 7243557b2..115b8d97f 100644
--- a/po/he.po
+++ b/po/he.po
@@ -11,7 +11,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-06-30 07:34+0200\n"
-"PO-Revision-Date: 2021-08-11 09:34+0000\n"
+"PO-Revision-Date: 2021-08-15 07:35+0000\n"
 "Last-Translator: Avi Markovitz <avi.markovitz at gmail.com>\n"
 "Language-Team: Hebrew <https://hosted.weblate.org/projects/gnucash/gnucash/"
 "he/>\n"
@@ -3817,7 +3817,7 @@ msgstr "פתיחת דו־שיח חיפוש שובר הוצאות"
 
 #: gnucash/gnome/gnc-plugin-business.c:278
 msgid "Business Linked Documents"
-msgstr "מסמכים מקושרים – עסקי"
+msgstr "עסקי – מסמכים מקושרים"
 
 #: gnucash/gnome/gnc-plugin-business.c:279
 msgid "View all Linked Business Documents"

commit a96024ca8f8b50bde3ecda130b1ff05c3bdeebf2
Author: TianXing_Yi <ytx.cash at gmail.com>
Date:   Tue Aug 17 13:34:15 2021 +0200

    Translation update  by TianXing_Yi <ytx.cash at gmail.com> using Weblate
    
    po/zh_CN.po: 99.7% (5351 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Chinese (Simplified))
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
    
    Translation update  by TianXing_Yi <ytx.cash at gmail.com> using Weblate
    
    po/zh_CN.po: 99.7% (5351 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Chinese (Simplified))
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
    
    Translation update  by TianXing_Yi <ytx.cash at gmail.com> using Weblate
    
    po/zh_CN.po: 99.7% (5351 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Chinese (Simplified))
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
    
    Translation update  by TianXing_Yi <ytx.cash at gmail.com> using Weblate
    
    po/zh_CN.po: 99.7% (5351 of 5364 strings; 0 fuzzy)
    0 failing checks (0.0%)
    Translation: GnuCash/Program (Chinese (Simplified))
    Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hans/
    
    Co-authored-by: TianXing_Yi <ytx.cash at gmail.com>

diff --git a/po/zh_CN.po b/po/zh_CN.po
index 24d7c041d..4180f7adf 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -23,7 +23,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug."
 "cgi?product=GnuCash&component=Translations\n"
 "POT-Creation-Date: 2021-06-30 07:34+0200\n"
-"PO-Revision-Date: 2021-08-11 09:34+0000\n"
+"PO-Revision-Date: 2021-08-16 06:35+0000\n"
 "Last-Translator: TianXing_Yi <ytx.cash at gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
 "gnucash/gnucash/zh_Hans/>\n"
@@ -878,11 +878,11 @@ msgstr "杂项付款"
 #: gnucash/gnome/assistant-loan.cpp:770
 #, c-format
 msgid "... pay \"%s\"?"
-msgstr "... 支付“%s”?"
+msgstr "支付“%s”"
 
 #: gnucash/gnome/assistant-loan.cpp:782
 msgid "via Escrow account?"
-msgstr "通过托管账户?"
+msgstr "通过托管科目"
 
 #: gnucash/gnome/assistant-loan.cpp:929
 #: gnucash/gnome-utils/gnc-tree-model-split-reg.c:2894
@@ -3387,7 +3387,7 @@ msgstr "导出科目体系至新的 GnuCash 数据文件"
 #: gnucash/gnome/gnc-plugin-page-register2.c:255
 #: gnucash/gnome/gnc-plugin-page-register.c:364
 msgid "_Find..."
-msgstr "查找(_F)..."
+msgstr "查找交易(_F)..."
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:146
 #: gnucash/gnome/gnc-plugin-page-register2.c:256
@@ -3429,7 +3429,7 @@ msgstr "计划交易列表"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:171
 msgid "Since _Last Run..."
-msgstr "待处理计划交易(_L)..."
+msgstr "待执行(_L)..."
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:172
 msgid "Create Scheduled Transactions since the last time run"
@@ -3437,7 +3437,7 @@ msgstr "创建尚未执行的计划交易"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:176
 msgid "_Mortgage & Loan Repayment..."
-msgstr "按揭和还贷(_M)..."
+msgstr "按揭/还贷(_M)..."
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:177
 msgid "Setup scheduled transactions for repayment of a loan"
@@ -3474,7 +3474,7 @@ msgstr "显示并编辑股票和共同基金商品"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:201
 msgid "_Loan Repayment Calculator"
-msgstr "还贷计算器(_L)"
+msgstr "还款计算器(_L)"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:202
 msgid "Use the loan/mortgage repayment calculator"
@@ -3514,7 +3514,7 @@ msgstr "查看每日提示"
 
 #: gnucash/gnome/gnc-plugin-basic-commands.c:545
 msgid "There are no Scheduled Transactions to be entered at this time."
-msgstr "现在没有计划交易事项需要输入。"
+msgstr "暂无待执行的计划交易。"
 
 #. Translators: %d is the number of transactions. This is a
 #. ngettext(3) message.
@@ -6479,7 +6479,7 @@ msgstr "财务"
 #: gnucash/gtkbuilder/assistant-loan.glade:578
 #: gnucash/gtkbuilder/assistant-loan.glade:777
 msgid "Payment From"
-msgstr "收入科目"
+msgstr "付款科目"
 
 #: gnucash/gnome/window-reconcile2.c:455 gnucash/gnome/window-reconcile2.c:465
 #: gnucash/gnome/window-reconcile.c:496 gnucash/gnome/window-reconcile.c:506
@@ -7198,7 +7198,7 @@ msgstr "新建科目"
 msgid ""
 "Renumber the immediate sub-accounts of %s? This will replace the account "
 "code field of each child account with a newly generated code."
-msgstr "是否重新编码 %s 的子科目?以替换原有子科目编码。"
+msgstr "重新编码 %s 的子科目,以替换原有编码。"
 
 #: gnucash/gnome-utils/dialog-account.c:2288
 #, c-format
@@ -7492,7 +7492,7 @@ msgstr "取消选择选中的和未选中的所有科目。"
 
 #: gnucash/gnome-utils/dialog-options.c:1506
 msgid "Select Children"
-msgstr "所有子科目"
+msgstr "全选子科目"
 
 #: gnucash/gnome-utils/dialog-options.c:1508
 msgid "Select all descendents of selected account."
@@ -10844,7 +10844,7 @@ msgstr ""
 
 #: gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in:17
 msgid "Run \"since last run\" dialog when a file is opened."
-msgstr "文件打开时启动“待处理计划交易”对话框。"
+msgstr "文件打开时启动“待执行计划交易”对话框。"
 
 #: gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in:18
 msgid ""
@@ -10859,7 +10859,7 @@ msgstr ""
 
 #: gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in:22
 msgid "Show \"since last run\" notification dialog when a file is opened."
-msgstr "文件打开时显示“待处理计划交易”对话框。"
+msgstr "文件打开时显示“待执行计划交易”对话框。"
 
 #: gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in:23
 msgid ""
@@ -12371,7 +12371,7 @@ msgstr "导入汇总"
 
 #: gnucash/gtkbuilder/assistant-csv-export.glade:8
 msgid "CSV Export Assistant"
-msgstr "抵押/贷款向导"
+msgstr "CSV 导出助手"
 
 #: gnucash/gtkbuilder/assistant-csv-export.glade:34
 msgid ""
@@ -12974,9 +12974,9 @@ msgid ""
 "\n"
 "Click 'Cancel' if you do not wish to create any new accounts now."
 msgstr ""
-"为资产(如投资、支票或储蓄)、负债(如贷款)及收入和支出创建一套 GnuCash 账簿。\n"
+"为资产(如投资、支票或储蓄)、负债(如贷款)、收入和支出建立一个账簿。\n"
 "\n"
-"选择最接近需求的模板,完成后,可以随时添加、修改、转移或删除科目。\n"
+"先选择最接近需求的模板,后期亦可以随时添加、修改、转移或删除科目。\n"
 "\n"
 "若不想创建,请\"取消\"。"
 
@@ -13112,43 +13112,43 @@ msgstr "利率"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:49
 msgid "APR (Compounded Daily)"
-msgstr "年率(日常复合)"
+msgstr "APR(日复利)"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:52
 msgid "APR (Compounded Weekly)"
-msgstr "年率(每周复合)"
+msgstr "APR(周复利)"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:55
 msgid "APR (Compounded Monthly)"
-msgstr "年率(每月化合物)"
+msgstr "APR(月复利)"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:58
 msgid "APR (Compounded Quarterly)"
-msgstr "年率(每季度复合)"
+msgstr "APR(季复利)"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:61
 msgid "APR (Compounded Annually)"
-msgstr "年率(多种化合物)"
+msgstr "APR(年复利)"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:72
 msgid "Fixed Rate"
-msgstr "取得汇率"
+msgstr "固定利率"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:75
 msgid "3/1 Year ARM"
-msgstr "三年固定浮动率"
+msgstr "3/1 Year ARM"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:78
 msgid "5/1 Year ARM"
-msgstr "五年固定型浮动利率"
+msgstr "5/1 Year ARM"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:81
 msgid "7/1 Year ARM"
-msgstr "7/1å¹´ARM"
+msgstr "7/1 Year ARM"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:84
 msgid "10/1 Year ARM"
-msgstr "10/1å¹´ARM"
+msgstr "10/1 Year ARM"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:113
 msgid ""
@@ -13160,20 +13160,18 @@ msgid ""
 "If you make a mistake or want to make changes later, you can edit the "
 "created Scheduled Transactions directly."
 msgstr ""
-"这是在 GnuCash 中逐步创建偿还贷款设置的方法。在这个向导中,您可以输入您的贷款"
-"与其偿还的参数,并且给出偿还的细节。使用这些信息, GnuCash 会创建适当的计划交"
-"易。\n"
+"创建定期还贷交易,输入贷款与还款详情,程序会根据此信息、创建适当的计划交易。\n"
 "\n"
-"如果您输入错误或稍后想做修改,您可以直接编辑创建好的计划交易。"
+"若输入有误亦或修改,稍后直接编辑创建好的计划交易。"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:120
 msgid "Loan / Mortgage Repayment Setup"
-msgstr "抵押/贷款偿还设置"
+msgstr "按揭/还贷"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:136
 msgid ""
 "Enter the Loan Details, as a minimum enter a valid Loan Account and Amount.\n"
-msgstr "请输入贷款详情。请至少输入有效的贷款账户和金额。\n"
+msgstr "请输入贷款详情,至少得有一个有效的贷款科目和金额。\n"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:173
 #: gnucash/gtkbuilder/assistant-loan.glade:1175
@@ -13202,11 +13200,11 @@ msgstr "开始日期"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:186
 msgid "Length"
-msgstr "长度"
+msgstr "跨度"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:212
 msgid "Loan Account"
-msgstr "贷款科目"
+msgstr "科目"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:227
 msgid ""
@@ -13222,9 +13220,7 @@ msgstr "剩余月数"
 msgid ""
 "Enter the annual interest rate in percent. Accepts values from 0.001 - 100. "
 "The Mortgage Assistant does not support zero-interest loans."
-msgstr ""
-"指定利率为年利率的一个百分比。 你可以在0.001-100的范围内输入一个值。 该贷款助"
-"理不支持利率为0的贷款。"
+msgstr "输入年利率(单位:百分比),范围0.001 - 100,不允许零利率贷款。"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:367
 #: gnucash/register/ledger-core/gncEntryLedgerLoad.c:55
@@ -13238,7 +13234,7 @@ msgstr "利率变化频率"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:444
 msgid "Loan Details"
-msgstr "贷款细节"
+msgstr "贷款详情"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:459
 msgid ""
@@ -13246,11 +13242,11 @@ msgid ""
 "Do you utilise an escrow account, if so an account must be specified..."
 msgstr ""
 "\n"
-"您是否使用托管帐户?如果要使用,则需要指定帐户..."
+"是否使用托管科目,如果是,必须指定一个科目..."
 
 #: gnucash/gtkbuilder/assistant-loan.glade:479
 msgid "... utilize an escrow account for payments?"
-msgstr "... 利用托管账户付款?"
+msgstr "使用托管科目付款?"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:504
 msgid "Escrow Account"
@@ -13258,7 +13254,7 @@ msgstr "托管账户"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:540
 msgid "Loan Repayment Options"
-msgstr "税务报表选项"
+msgstr "还款选项"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:553
 msgid ""
@@ -13266,23 +13262,23 @@ msgid ""
 "All accounts must have valid entries to continue.\n"
 msgstr ""
 "\n"
-"所有帐户都必须具有有效的条目才能继续。\n"
+"所有科目必须正确设置才能继续。\n"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:591
 msgid "Principal To"
-msgstr "本金到"
+msgstr "本金科目"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:630
 msgid "Interest To"
-msgstr "利息到"
+msgstr "利息科目"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:683
 msgid "Repayment Frequency"
-msgstr "偿还频率"
+msgstr "频率"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:718
 msgid "Loan Repayment"
-msgstr "偿还"
+msgstr "还款"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:731
 msgid ""
@@ -13298,7 +13294,7 @@ msgstr "付款到(托管)"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:816
 msgid "Payment From (Escrow)"
-msgstr "付款来自(托管)"
+msgstr "付款科目(托管)"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:839
 msgid "Specify Source Account"
@@ -13326,7 +13322,7 @@ msgstr "数值选项"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:1070
 msgid "Loan Payment"
-msgstr "纳税额"
+msgstr "贷款支付"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:1083
 msgid ""
@@ -13364,7 +13360,7 @@ msgstr "截止日期"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:1243
 msgid "Loan Review"
-msgstr "回顾"
+msgstr "贷款审查"
 
 #: gnucash/gtkbuilder/assistant-loan.glade:1251
 msgid "Schedule added successfully."
@@ -14076,15 +14072,15 @@ msgstr "递归科目属性"
 
 #: gnucash/gtkbuilder/dialog-account.glade:69
 msgid "Enable Cascading Account Color"
-msgstr "颜色属性"
+msgstr "颜色"
 
 #: gnucash/gtkbuilder/dialog-account.glade:104
 msgid "Enable Cascading Account Placeholder"
-msgstr "占位符属性"
+msgstr "占位符"
 
 #: gnucash/gtkbuilder/dialog-account.glade:129
 msgid "Enable Cascading Account Hidden"
-msgstr "隐藏属性"
+msgstr "隐藏"
 
 #: gnucash/gtkbuilder/dialog-account.glade:151
 msgid "Enable the sections to Cascade"
@@ -15109,7 +15105,7 @@ msgstr "每天(365)"
 
 #: gnucash/gtkbuilder/dialog-fincalc.glade:90
 msgid "Loan Repayment Calculator"
-msgstr "财务计算器"
+msgstr "还款计算器"
 
 #: gnucash/gtkbuilder/dialog-fincalc.glade:136
 msgid "_Schedule"
@@ -17143,7 +17139,7 @@ msgstr "循环次数"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:512
 msgid "<b>Since Last Run</b>"
-msgstr "<b>待处理计划交易</b>"
+msgstr "<b>待执行计划交易</b>"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:535
 msgid "<b>Transaction Editor Defaults</b>"
@@ -17155,7 +17151,7 @@ msgstr "打开文件时运行(_R)"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:549
 msgid "Run the \"since last run\" process when a file is opened."
-msgstr "文件打开时,执行“待处理计划交易”进程。"
+msgstr "文件打开时,启动“待执行计划交易”进程。"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:562
 msgid "_Show notification window"
@@ -17165,7 +17161,7 @@ msgstr "显示通知(_S)"
 msgid ""
 "Show the notification window for the \"since last run\" process when a file "
 "is opened."
-msgstr "文件打开时,显示“待处理计划交易”进程的通知。"
+msgstr "文件打开时,显示“待执行计划交易”进程的通知。"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:579
 msgid "_Auto-create new transactions"
@@ -17267,7 +17263,7 @@ msgstr "模板"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:1454
 msgid "Since Last Run..."
-msgstr "待处理计划交易"
+msgstr "待执行计划交易"
 
 #: gnucash/gtkbuilder/dialog-sx.glade:1554
 msgid "_Review created transactions"
@@ -28185,7 +28181,7 @@ msgstr "标签页,\"查看 -> 双行\",\"属性\"字段设为\"T-编号\";
 msgid ""
 "Check to have trading accounts used for transactions involving more than one "
 "currency or commodity."
-msgstr "拥有用于涉及一种以上货币或商品的交易账户的支票。"
+msgstr "额外使用贸易科目统计跨币种交易。"
 
 #: libgnucash/app-utils/business-prefs.scm:167
 msgid "Budget to be used when none has been otherwise specified."
@@ -28831,7 +28827,7 @@ msgstr "手动选择批次。"
 
 #: libgnucash/engine/qofbookslots.h:66
 msgid "Use Trading Accounts"
-msgstr "使用贸易科目"
+msgstr "贸易科目"
 
 #: libgnucash/engine/qofbookslots.h:67
 msgid "Currency Accounting"

commit 028bf9826bdcf295c238e1c6b61e5cc50154b26c
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Aug 14 11:25:19 2021 +0800

    [Split] xaccSplitGetOtherSplit don't test book trading-accts
    
    don't test trading-acct property when finding other split.

diff --git a/libgnucash/engine/Split.c b/libgnucash/engine/Split.c
index e27c1ba96..9392ddd33 100644
--- a/libgnucash/engine/Split.c
+++ b/libgnucash/engine/Split.c
@@ -2077,45 +2077,27 @@ xaccSplitMergePeerSplits (Split *split, const Split *other_split)
 Split *
 xaccSplitGetOtherSplit (const Split *split)
 {
-    int i;
     Transaction *trans;
-    int count, num_splits;
     Split *other = NULL;
-    gboolean lot_split;
-    gboolean trading_accts;
 
     if (!split) return NULL;
     trans = split->parent;
     if (!trans) return NULL;
 
-    trading_accts = xaccTransUseTradingAccounts (trans);
-    num_splits = xaccTransCountSplits(trans);
-    count = num_splits;
-    lot_split = qof_instance_has_slot(QOF_INSTANCE (split), "lot-split");
-    if (!lot_split && !trading_accts && (2 != count)) return NULL;
-
-    for (i = 0; i < num_splits; i++)
+    for (GList *n = xaccTransGetSplitList (trans); n; n = n->next)
     {
-        Split *s = xaccTransGetSplit(trans, i);
-        if (s == split)
-        {
-            --count;
-            continue;
-        }
-        if (qof_instance_has_slot (QOF_INSTANCE (s), "lot-split"))
-        {
-            --count;
+        Split *s = n->data;
+        if ((s == split) ||
+            (xaccAccountGetType (xaccSplitGetAccount (s)) == ACCT_TYPE_TRADING) ||
+            (qof_instance_has_slot (QOF_INSTANCE (s), "lot-split")))
             continue;
-        }
-        if (trading_accts &&
-            xaccAccountGetType(xaccSplitGetAccount(s)) == ACCT_TYPE_TRADING)
-        {
-            --count;
-            continue;
-        }
+
+        if (other)
+            return NULL;
+
         other = s;
     }
-    return (1 == count) ? other : NULL;
+    return other;
 }
 
 /********************************************************************\

commit 6bf5a618debee47d90317ff287767ba6d1fd32fa
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 13 23:33:03 2021 +0800

    qof_instance_get gchar* must be freed
    
    A call to qof_instance_get expecting a gchar* receives a newly
    allocated string which must be freed.

diff --git a/gnucash/gnome-utils/gnc-tree-view-account.c b/gnucash/gnome-utils/gnc-tree-view-account.c
index 0c7a79f15..904921365 100644
--- a/gnucash/gnome-utils/gnc-tree-view-account.c
+++ b/gnucash/gnome-utils/gnc-tree-view-account.c
@@ -1866,9 +1866,10 @@ account_cell_property_data_func (GtkTreeViewColumn *tree_column,
     account = gnc_tree_view_account_get_account_from_iter(s_model, s_iter);
     qof_instance_get (QOF_INSTANCE (account), key, &string, NULL);
     if (string == NULL)
-        string = "";
+        string = g_strdup ("");
 
     g_object_set (G_OBJECT (cell), "text", string, "xalign", 0.0, NULL);
+    g_free (string);
 
     view = g_object_get_data(G_OBJECT(tree_column), "tree-view");
 
diff --git a/gnucash/gnome/gnc-plugin-page-report.c b/gnucash/gnome/gnc-plugin-page-report.c
index dff95509d..e8a37b046 100644
--- a/gnucash/gnome/gnc-plugin-page-report.c
+++ b/gnucash/gnome/gnc-plugin-page-report.c
@@ -1965,13 +1965,16 @@ gnc_plugin_page_report_exportpdf_cb( GtkAction *action, GncPluginPageReport *rep
             // Yes. In the kvp, look up the key for the Export-PDF output
             // directory. If it exists, prepend this to the job name so that
             // we can export to PDF.
-	    if (dirname && g_file_test(dirname,
-				       G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
-	    {
-		gchar *tmp = g_build_filename(dirname, job_name, NULL);
-		g_free(job_name);
-		job_name = tmp;
-	    }
+            if (dirname)
+            {
+                if (g_file_test (dirname, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
+                {
+                    gchar *tmp = g_build_filename (dirname, job_name, NULL);
+                    g_free (job_name);
+                    job_name = tmp;
+                }
+                g_free (dirname);
+            }
         }
     }
 
diff --git a/libgnucash/engine/qofbook.cpp b/libgnucash/engine/qofbook.cpp
index 9d3925adf..ab2b01231 100644
--- a/libgnucash/engine/qofbook.cpp
+++ b/libgnucash/engine/qofbook.cpp
@@ -1032,13 +1032,11 @@ qof_book_get_default_gain_loss_acct_guid (QofBook *book)
 gboolean
 qof_book_use_trading_accounts (const QofBook *book)
 {
-    const char *opt = NULL;
-    qof_instance_get (QOF_INSTANCE (book),
-              "trading-accts", &opt,
-              NULL);
-    if (opt && opt[0] == 't' && opt[1] == 0)
-        return TRUE;
-    return FALSE;
+    char *opt = nullptr;
+    qof_instance_get (QOF_INSTANCE (book), "trading-accts", &opt, nullptr);
+    auto retval = (opt && opt[0] == 't' && opt[1] == 0);
+    g_free (opt);
+    return retval;
 }
 
 /* Returns TRUE if this book uses split action field as the 'Num' field, FALSE

commit e4d808e674aab417698537864212b84d01848cdc
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 13 08:54:21 2021 +0800

    [qofbook] qof_book_use_split_action_for_num_field: free a char*
    
    qof_instance_get allocates a new char* which must be freed.

diff --git a/libgnucash/engine/qofbook.cpp b/libgnucash/engine/qofbook.cpp
index adb1ff790..9d3925adf 100644
--- a/libgnucash/engine/qofbook.cpp
+++ b/libgnucash/engine/qofbook.cpp
@@ -1051,7 +1051,7 @@ qof_book_use_split_action_for_num_field (const QofBook *book)
     {
         // No cached value? Then do the expensive KVP lookup
         gboolean result;
-        const char *opt = NULL;
+        char *opt = NULL;
         qof_instance_get (QOF_INSTANCE (book),
                           PARAM_NAME_NUM_FIELD_SOURCE, &opt,
                           NULL);
@@ -1060,6 +1060,7 @@ qof_book_use_split_action_for_num_field (const QofBook *book)
             result = TRUE;
         else
             result = FALSE;
+        g_free (opt);
 
         // We need to const_cast the "book" argument into a non-const pointer,
         // but as we are dealing only with cache variables, I think this is

commit 6fd19f2eeaaf2fce26da3c0375d358c1b5364a93
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 13 08:51:14 2021 +0800

    [dialog-lot-viewer] g_free a GList* properly
    
    g_list_free requires the argument is the head of a GList. Calling
    g_list_reverse makes the filtered_list points to the last
    element. Assigning filtered_list to the result of g_list_reverse
    ensures it still points to the head, allowing g_list_free to free the
    list properly.

diff --git a/gnucash/gnome/dialog-lot-viewer.c b/gnucash/gnome/dialog-lot-viewer.c
index 8413b9c1f..7bd5ebcd0 100644
--- a/gnucash/gnome/dialog-lot-viewer.c
+++ b/gnucash/gnome/dialog-lot-viewer.c
@@ -231,9 +231,10 @@ lv_show_splits_free (GNCLotViewer *lv)
             filtered_list = g_list_prepend (filtered_list, split);
         }
     }
+    filtered_list = g_list_reverse (filtered_list);
 
     /* display list */
-    gnc_split_viewer_fill(lv, lv->split_free_store, g_list_reverse (filtered_list));
+    gnc_split_viewer_fill(lv, lv->split_free_store, filtered_list);
     g_list_free (filtered_list);
 }
 



Summary of changes:
 bindings/engine.i                            |   5 +
 bindings/guile/test/srfi64-extras.scm        |   2 +-
 borrowed/goffice/go-optionmenu.c             |   7 +-
 doc/gnucash-cli.1.in                         |   2 +-
 doc/gnucash.1.in                             |   2 +-
 gnucash/gnome-search/dialog-search.c         |   8 +-
 gnucash/gnome-utils/dialog-options.c         |   7 +-
 gnucash/gnome-utils/gnc-amount-edit.c        |   1 +
 gnucash/gnome-utils/gnc-main-window.c        |   7 +-
 gnucash/gnome-utils/gnc-tree-view-account.c  |   5 +-
 gnucash/gnome-utils/window-main-summarybar.c |  14 ++-
 gnucash/gnome/dialog-lot-viewer.c            |   3 +-
 gnucash/gnome/gnc-budget-view.c              |   3 +-
 gnucash/gnome/gnc-plugin-page-budget.c       |   3 +-
 gnucash/gnome/gnc-plugin-page-report.c       |  17 ++--
 libgnucash/engine/Split.c                    |  38 ++------
 libgnucash/engine/gnc-budget.c               |   7 +-
 libgnucash/engine/gnc-budget.h               |   4 +-
 libgnucash/engine/gnc-commodity.c            |   8 +-
 libgnucash/engine/qofbook.cpp                |  15 ++-
 libgnucash/gnc-module/gnc-module.c           |   6 +-
 po/de.po                                     |   4 +-
 po/glossary/fi.po                            |   9 +-
 po/glossary/he.po                            |   8 +-
 po/he.po                                     | 110 ++++++++++-----------
 po/zh_CN.po                                  | 138 +++++++++++++--------------
 26 files changed, 213 insertions(+), 220 deletions(-)



More information about the gnucash-changes mailing list