summaryrefslogtreecommitdiffstats
path: root/src/extension/implementation/xslt.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-04-07 23:42:04 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2011-04-07 23:42:04 +0000
commit945ce419c806c73d70203dec33ececafbe108a92 (patch)
treecfcdb59bf47e9db7f9e01f7eebb59924bdeaea94 /src/extension/implementation/xslt.cpp
parentMerge from trunk (again) (diff)
parentExtensions. SVG+media fix (see Bug #400356). (diff)
downloadinkscape-945ce419c806c73d70203dec33ececafbe108a92.tar.gz
inkscape-945ce419c806c73d70203dec33ececafbe108a92.zip
Merge from trunk
(bzr r9508.1.73)
Diffstat (limited to 'src/extension/implementation/xslt.cpp')
-rw-r--r--src/extension/implementation/xslt.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/extension/implementation/xslt.cpp b/src/extension/implementation/xslt.cpp
index c929ba19a..8b6e6c701 100644
--- a/src/extension/implementation/xslt.cpp
+++ b/src/extension/implementation/xslt.cpp
@@ -29,6 +29,7 @@
#include <libxml/parser.h>
#include <libxslt/transform.h>
+#include <libxslt/xsltutils.h>
Inkscape::XML::Document * sp_repr_do_read (xmlDocPtr doc, const gchar * default_ns);
@@ -217,11 +218,19 @@ XSLT::save(Inkscape::Extension::Output */*module*/, SPDocument *doc, gchar const
params[0] = NULL;
xmlDocPtr newdoc = xsltApplyStylesheet(_stylesheet, svgdoc, params);
- xmlSaveFile(filename, newdoc);
+ //xmlSaveFile(filename, newdoc);
+ int success = xsltSaveResultToFilename(filename, newdoc, _stylesheet, 0);
xmlFreeDoc(newdoc);
xmlFreeDoc(svgdoc);
+ xsltCleanupGlobals();
+ xmlCleanupParser();
+
+ if (success < 1) {
+ throw Inkscape::Extension::Output::save_failed();
+ }
+
return;
}