Code

Added code to initialize DBus (if enabled.)
[inkscape.git] / src / extension / internal / svg.cpp
index 31178f8d5b403419ac61aa74f931a3a4bdb12f2e..a3589e9051556fe27c523cd368df1b79dfda34b1 100644 (file)
@@ -191,14 +191,14 @@ Svg::open (Inkscape::Extension::Input */*mod*/, const gchar *uri)
     all of this code.  I just stole it.
 */
 void
-Svg::save (Inkscape::Extension::Output *mod, SPDocument *doc, const gchar *uri)
+Svg::save(Inkscape::Extension::Output *mod, SPDocument *doc, gchar const *filename)
 {
     g_return_if_fail(doc != NULL);
-    g_return_if_fail(uri != NULL);
+    g_return_if_fail(filename != NULL);
 
-    gchar *save_path = g_path_get_dirname (uri);
+    gchar *save_path = g_path_get_dirname(filename);
 
-    gboolean const spns = (!mod->get_id()
+    bool const spns = ( !mod->get_id()
       || !strcmp (mod->get_id(), SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE)
       || !strcmp (mod->get_id(), SP_MODULE_KEY_OUTPUT_SVGZ_INKSCAPE));
 
@@ -212,10 +212,8 @@ Svg::save (Inkscape::Extension::Output *mod, SPDocument *doc, const gchar *uri)
         repr = sp_document_root (doc)->updateRepr(rdoc, repr, SP_OBJECT_WRITE_BUILD);
     }
 
-    Inkscape::IO::fixupHrefs( doc, save_path, spns );
-
-    gboolean const s = sp_repr_save_file (repr->document(), uri, SP_SVG_NS_URI);
-    if (s == FALSE) {
+    if (!sp_repr_save_rebased_file(repr->document(), filename, SP_SVG_NS_URI,
+                                   doc->base, filename)) {
         throw Inkscape::Extension::Output::save_failed();
     }