From f6e3f9e03368221a67f9f9039d484f6ff8d60da5 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Fri, 27 Jun 2014 16:51:56 +0200 Subject: [PATCH] Change ag_chart_create_svg() to return the length of the SVG document This is needed later for SVG export --- src/ag-chart.c | 6 +++++- src/ag-chart.h | 1 + src/ag-window.c | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ag-chart.c b/src/ag-chart.c index 6c14b01..e2c2dd0 100644 --- a/src/ag-chart.c +++ b/src/ag-chart.c @@ -612,7 +612,7 @@ ag_chart_save_to_file(AgChart *chart, GFile *file, GError **err) } gchar * -ag_chart_create_svg(AgChart *chart, GError **err) +ag_chart_create_svg(AgChart *chart, gsize *length, GError **err) { xmlDocPtr doc = create_save_doc(chart); xmlDocPtr xslt_doc; @@ -851,6 +851,10 @@ ag_chart_create_svg(AgChart *chart, GError **err) xmlDocDumpFormatMemoryEnc(svg_doc, (xmlChar **)&save_content, &save_length, "UTF-8", 1); xmlFreeDoc(svg_doc); + if (length != NULL) { + *length = save_length; + } + return save_content; } diff --git a/src/ag-chart.h b/src/ag-chart.h index 1399644..9724b56 100644 --- a/src/ag-chart.h +++ b/src/ag-chart.h @@ -53,6 +53,7 @@ void ag_chart_set_city(AgChart *chart, const gchar *city); gchar *ag_chart_get_city(AgChart *chart); gchar *ag_chart_create_svg(AgChart *chart, + gsize *length, GError **err); #define AG_CHART_ERROR (ag_chart_error_quark()) diff --git a/src/ag-window.c b/src/ag-window.c index 28c69a5..0f8c0b6 100644 --- a/src/ag-window.c +++ b/src/ag-window.c @@ -176,7 +176,7 @@ ag_window_redraw_chart(AgWindow *window) GError *err = NULL; gchar *svg_content; - svg_content = ag_chart_create_svg(window->priv->chart, &err); + svg_content = ag_chart_create_svg(window->priv->chart, NULL, &err); if (svg_content == NULL) { GtkWidget *dialog;