gnucash stable: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sun Sep 28 11:23:20 EDT 2025


Updated	 via  https://github.com/Gnucash/gnucash/commit/2551b7fd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/358914f5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/777ccbad (commit)



commit 2551b7fdb1918960c533ea01c0c9de48fce8dcdc
Merge: 777ccbadba 358914f505
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Sep 28 23:22:54 2025 +0800

    Merge branch 'fix-surface-leak' into stable


commit 358914f505c20bc8f27a52ee506374343bb1963c
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Sep 26 12:50:18 2025 +0800

    [gnucash-header.c] don't draw GncHeader until the register is shown.
    
    fixes header->surface leak when a register is loaded in a GtkNotebook
    tab but not realized before shutdown.

diff --git a/gnucash/register/register-gnome/gnucash-header.c b/gnucash/register/register-gnome/gnucash-header.c
index 4c8f7c55ef..426d2f61d7 100644
--- a/gnucash/register/register-gnome/gnucash-header.c
+++ b/gnucash/register/register-gnome/gnucash-header.c
@@ -52,6 +52,11 @@ G_DEFINE_TYPE (GncHeader, gnc_header, GTK_TYPE_LAYOUT)
 static void
 gnc_header_draw_offscreen (GncHeader *header)
 {
+    g_return_if_fail (GTK_IS_WIDGET(header));
+
+    if (!gtk_widget_get_realized (GTK_WIDGET(header)))
+        return;
+
     SheetBlockStyle *style = header->style;
     GncItemEdit *item_edit = GNC_ITEM_EDIT(header->sheet->item_editor);
     Table *table = header->sheet->table;



Summary of changes:
 gnucash/register/register-gnome/gnucash-header.c | 5 +++++
 1 file changed, 5 insertions(+)



More information about the gnucash-changes mailing list