gnucash maint: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Sat Jul 30 01:43:23 EDT 2022
Updated via https://github.com/Gnucash/gnucash/commit/accdf9e8 (commit)
via https://github.com/Gnucash/gnucash/commit/45aac539 (commit)
via https://github.com/Gnucash/gnucash/commit/67a1b7a8 (commit)
from https://github.com/Gnucash/gnucash/commit/78f74656 (commit)
commit accdf9e852e0a539a435497acee330857c87789e
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Jul 30 13:39:34 2022 +0800
[gnc-dense-cal] leaks in markdata and GTimer
- mark->name wasn't correctly freed
- don't unnecessarily allocate GTimer
diff --git a/gnucash/gnome-utils/gnc-dense-cal.c b/gnucash/gnome-utils/gnc-dense-cal.c
index 9fca03c76..132b9f459 100644
--- a/gnucash/gnome-utils/gnc-dense-cal.c
+++ b/gnucash/gnome-utils/gnc-dense-cal.c
@@ -818,8 +818,10 @@ gdc_free_all_mark_data(GncDenseCal *dcal)
/* Remove the old mark data. */
for (l = dcal->markData; l; l = l->next)
{
- g_list_free(((gdc_mark_data*)l->data)->ourMarks);
- g_free((gdc_mark_data*)l->data);
+ gdc_mark_data *mark = l->data;
+ g_list_free (mark->ourMarks);
+ g_free (mark->name);
+ g_free (mark);
}
g_list_free(dcal->markData);
dcal->markData = NULL;
@@ -902,13 +904,14 @@ gnc_dense_cal_draw_to_buffer(GncDenseCal *dcal)
cairo_t *cr;
gchar *primary_color_class, *secondary_color_class, *marker_color_class;
- timer = g_timer_new();
DEBUG("drawing");
widget = GTK_WIDGET(dcal);
if (!dcal->surface)
return;
+ timer = g_timer_new();
+
g_timer_start(timer);
cr = cairo_create (dcal->surface);
layout = gtk_widget_create_pango_layout(GTK_WIDGET(dcal), NULL);
commit 45aac53952092f9acb1e4e76e9d070ea739e165a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Jul 30 13:39:20 2022 +0800
[gnc-split-reg] free tooltip text properly
diff --git a/gnucash/gnome/gnc-split-reg.c b/gnucash/gnome/gnc-split-reg.c
index 323fd857f..d6c37ce17 100644
--- a/gnucash/gnome/gnc-split-reg.c
+++ b/gnucash/gnome/gnc-split-reg.c
@@ -744,9 +744,8 @@ gsr_redraw_all_cb (GnucashRegister *g_reg, gpointer data)
gtk_widget_set_tooltip_text (GTK_WIDGET(gsr->filter_label), gsr->filter_text);
- if (old_tt_text)
- g_free (old_tt_text);
}
+ g_free (old_tt_text);
}
if (gsr->shares_label == NULL && gsr->value_label == NULL)
commit 67a1b7a873badcd1dc343e11997217941bbded6f
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Jul 30 12:52:16 2022 +0800
[gnc-sx-instance-model] free GHashTable keys when destroying
diff --git a/libgnucash/app-utils/gnc-sx-instance-model.c b/libgnucash/app-utils/gnc-sx-instance-model.c
index 75c624785..dcb51f8cb 100644
--- a/libgnucash/app-utils/gnc-sx-instance-model.c
+++ b/libgnucash/app-utils/gnc-sx-instance-model.c
@@ -207,9 +207,7 @@ gnc_sx_instance_get_variables_for_parser(GHashTable *instance_var_hash)
{
GHashTable *parser_vars;
- /* fixme: the following GHashTable should g_free keys and
- gnc_sx_variable_free the values, however this breaks SX formulas */
- parser_vars = g_hash_table_new(g_str_hash, g_str_equal);
+ parser_vars = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
g_hash_table_foreach(instance_var_hash, (GHFunc)_sx_var_to_raw_numeric, parser_vars);
return parser_vars;
}
Summary of changes:
gnucash/gnome-utils/gnc-dense-cal.c | 9 ++++++---
gnucash/gnome/gnc-split-reg.c | 3 +--
libgnucash/app-utils/gnc-sx-instance-model.c | 4 +---
3 files changed, 8 insertions(+), 8 deletions(-)
More information about the gnucash-changes
mailing list