Code

Connector tool: make connectors avoid the convex hull of shapes.
[inkscape.git] / src / sp-style-elem.cpp
index 63a9bae38abdb413d8811fddc74dd7f25d403731..46c311920708dd6cebf0c3cbd87854efc3675c3b 100644 (file)
@@ -12,7 +12,7 @@ static void sp_style_elem_class_init(SPStyleElemClass *klass);
 static void sp_style_elem_build(SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr);
 static void sp_style_elem_set(SPObject *object, unsigned const key, gchar const *const value);
 static void sp_style_elem_read_content(SPObject *);
-static Inkscape::XML::Node *sp_style_elem_write(SPObject *, Inkscape::XML::Node *, guint flags);
+static Inkscape::XML::Node *sp_style_elem_write(SPObject *, Inkscape::XML::Document *, Inkscape::XML::Node *, guint flags);
 
 static SPObjectClass *parent_class;
 
@@ -120,10 +120,9 @@ child_order_changed_cb(Inkscape::XML::Node *, Inkscape::XML::Node *,
 }
 
 static Inkscape::XML::Node *
-sp_style_elem_write(SPObject *const object, Inkscape::XML::Node *repr, guint const flags)
+sp_style_elem_write(SPObject *const object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint const flags)
 {
     if ((flags & SP_OBJECT_WRITE_BUILD) && !repr) {
-        Inkscape::XML::Document *xml_doc = sp_document_repr_doc(SP_OBJECT_DOCUMENT(object));
         repr = xml_doc->createElement("svg:style");
     }
 
@@ -140,7 +139,7 @@ sp_style_elem_write(SPObject *const object, Inkscape::XML::Node *repr, guint con
     /* todo: media */
 
     if (((SPObjectClass *) parent_class)->write)
-        ((SPObjectClass *) parent_class)->write(object, repr, flags);
+        ((SPObjectClass *) parent_class)->write(object, xml_doc, repr, flags);
 
     return repr;
 }
@@ -367,7 +366,9 @@ sp_style_elem_read_content(SPObject *const object)
     // that uses a style from it. It just forces the parent of <style> to reread its style as soon as the stylesheet
     // is fully loaded. Naturally, this won't work if the user of the stylesheet is its grandparent or precedent.
     SPObject *parent = SP_OBJECT_PARENT (object);
-    sp_style_read_from_object(parent->style, parent);
+    if ( parent ) {
+        sp_style_read_from_object(parent->style, parent);
+    }
 }
 
 /**