X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsp-mask.cpp;h=64ff38019d381b915b2f64cc952454be6110c450;hb=f0e5ef1c60ad148623253dc3cc5d53014724094a;hp=6ad8a487121ca02a9b0edec5506593795a51a0c6;hpb=dc6e5409aa2c0778a68b92179563964268e39013;p=inkscape.git diff --git a/src/sp-mask.cpp b/src/sp-mask.cpp index 6ad8a4871..64ff38019 100644 --- a/src/sp-mask.cpp +++ b/src/sp-mask.cpp @@ -258,7 +258,8 @@ static Inkscape::XML::Node * sp_mask_write (SPObject *object, Inkscape::XML::Node *repr, guint flags) { if ((flags & SP_OBJECT_WRITE_BUILD) && !repr) { - repr = sp_repr_new ("svg:mask"); + Inkscape::XML::Document *xml_doc = sp_document_repr_doc(SP_OBJECT_DOCUMENT(object)); + repr = xml_doc->createElement("svg:mask"); } if (((SPObjectClass *) (parent_class))->write) @@ -273,7 +274,8 @@ sp_mask_create (GSList *reprs, SPDocument *document, NR::Matrix const* applyTran { Inkscape::XML::Node *defsrepr = SP_OBJECT_REPR (SP_DOCUMENT_DEFS (document)); - Inkscape::XML::Node *repr = sp_repr_new ("svg:mask"); + Inkscape::XML::Document *xml_doc = sp_document_repr_doc(document); + Inkscape::XML::Node *repr = xml_doc->createElement("svg:mask"); repr->setAttribute("maskUnits", "userSpaceOnUse"); defsrepr->appendChild(repr); @@ -291,7 +293,8 @@ sp_mask_create (GSList *reprs, SPDocument *document, NR::Matrix const* applyTran } } - defsrepr->changeOrder(repr, defsrepr->lastChild()); // workaround for bug 989084 + if (repr != defsrepr->lastChild()) + defsrepr->changeOrder(repr, defsrepr->lastChild()); // workaround for bug 989084 Inkscape::GC::release(repr); return mask_id;