Merge commit 'origin/stable'
[pspp-builds.git] / src / output / chart.c
index 489ef189f6d3817c047147ef8bcd206ec31cc56c..e324901cc4df1d445f3fc8c7a4b64296bca55bca 100644 (file)
 
 #include <plot.h>
 
-#include <libpspp/alloc.h>
 #include <libpspp/str.h>
 #include <output/manager.h>
 #include <output/output.h>
 
 #include "error.h"
+#include "xalloc.h"
 
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
@@ -83,6 +83,9 @@ chart_create(void)
   chart->legend_left = 810;
   chart->legend_right = 1000;
   chart->font_size = 0;
+  chart->in_path = false;
+  chart->dataset = NULL;
+  chart->n_datasets = 0;
   strcpy(chart->fill_colour,"red");
 
   /* Get default font size */
@@ -100,6 +103,7 @@ chart_create(void)
 void
 chart_submit(struct chart *chart)
 {
+  int i;
   struct som_entity s;
   struct outp_driver *d;
 
@@ -124,6 +128,11 @@ chart_submit(struct chart *chart)
 
   d = outp_drivers (NULL);
   d->class->finalise_chart(d, chart);
+
+  for (i = 0 ; i < chart->n_datasets; ++i)
+    free (chart->dataset[i]);
+  free (chart->dataset);
+
   free(chart);
 }