[goffice] GogDataLabel: plug leaks.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [goffice] GogDataLabel: plug leaks.
- Date: Wed, 25 Feb 2015 02:19:31 +0000 (UTC)
commit 27b4d294681f1bd94a349653af82d0a30863c220
Author: Morten Welinder <terra gnome org>
Date: Tue Feb 24 21:19:17 2015 -0500
GogDataLabel: plug leaks.
ChangeLog | 5 +++++
goffice/graph/gog-series-labels.c | 15 ++++++++++-----
2 files changed, 15 insertions(+), 5 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f11ecd2..9ffa4ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2015-02-24 Morten Welinder <terra gnome org>
+ * goffice/graph/gog-series-labels.c (gog_data_label_finalize):
+ Plug leak.
+ (role_data_label_post_add): Plug leak.
+ (gog_series_labels_finalize): Plug leak.
+
* goffice/graph/gog-axis-line.c
(gog_axis_base_get_crossed_axis_type): Make this public.
(gog_axis_base_get_crossed_axis_for_plot): New function -- when we
diff --git a/goffice/graph/gog-series-labels.c b/goffice/graph/gog-series-labels.c
index b189d1f..1e76110 100644
--- a/goffice/graph/gog-series-labels.c
+++ b/goffice/graph/gog-series-labels.c
@@ -755,6 +755,7 @@ gog_data_label_finalize (GObject *obj)
GogDataLabel *label = GOG_DATA_LABEL (obj);
gog_dataset_finalize (GOG_DATASET (obj));
g_free (label->format);
+ g_free (label->separator);
go_string_unref (label->element.str);
data_label_parent_klass->finalize (obj);
}
@@ -1337,6 +1338,7 @@ gog_series_labels_finalize (GObject *obj)
go_string_unref (labels->elements[i].str);
g_free (labels->elements);
}
+ g_list_free (labels->overrides);
series_labels_parent_klass->finalize (obj);
}
@@ -1368,11 +1370,19 @@ role_data_label_post_add (GogObject *parent, GogObject *child)
go_styled_object_get_style (GO_STYLED_OBJECT (parent)));
lbls->overrides = g_list_insert_sorted (lbls->overrides, child,
(GCompareFunc) element_compare);
+
+ lbl->format = g_strdup ("");
+ lbl->default_pos = lbls->default_pos;
+ lbl->allowed_pos = lbls->allowed_pos;
+ lbl->position = lbls->position;
+ lbl->supports_percent = lbls->supports_percent;
+
plot = (GogPlot *) gog_object_get_parent_typed (child, GOG_TYPE_PLOT);
for (j = 0; j < plot->desc.series.num_dim; j++) {
/* FIXME, this might depend upon the series type */
switch (plot->desc.series.dim[j].ms_type) {
case GOG_MS_DIM_VALUES:
+ g_free (lbl->format);
lbl->format = g_strdup_printf ("%%%u", j);
j = plot->desc.series.num_dim; /* ensure we exit the loop */
break;
@@ -1380,11 +1390,6 @@ role_data_label_post_add (GogObject *parent, GogObject *child)
break;
}
}
- lbl->format = g_strdup ("");
- lbl->default_pos = lbls->default_pos;
- lbl->allowed_pos = lbls->allowed_pos;
- lbl->position = lbls->position;
- lbl->supports_percent = lbls->supports_percent;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]