diff options
| author | MenTaLguY <mental@rydia.net> | 2007-03-20 22:54:29 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2007-03-20 22:54:29 +0000 |
| commit | 5063f31f609ad9c89e7b6d0667c39bc4fad35c27 (patch) | |
| tree | 70d2c4b365d2cf1d2272fb015297816b92f604f3 /src/sp-object.cpp | |
| parent | Implementing feature request #1673807: snapping of gradient handles (diff) | |
| download | inkscape-5063f31f609ad9c89e7b6d0667c39bc4fad35c27.tar.gz inkscape-5063f31f609ad9c89e7b6d0667c39bc4fad35c27.zip | |
plumb XML::Document parameter into duplication, courtesy of bryce
(bzr r2723)
Diffstat (limited to 'src/sp-object.cpp')
| -rw-r--r-- | src/sp-object.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/sp-object.cpp b/src/sp-object.cpp index 5dbc4101e..f969fe842 100644 --- a/src/sp-object.cpp +++ b/src/sp-object.cpp @@ -1113,7 +1113,7 @@ static Inkscape::XML::Node * sp_object_private_write(SPObject *object, Inkscape::XML::Node *repr, guint flags) { if (!repr && (flags & SP_OBJECT_WRITE_BUILD)) { - repr = SP_OBJECT_REPR(object)->duplicate(); + repr = SP_OBJECT_REPR(object)->duplicate(repr->document()); if (!( flags & SP_OBJECT_WRITE_EXT )) { repr->setAttribute("inkscape:collect", NULL); } @@ -1189,6 +1189,10 @@ SPObject::updateRepr(unsigned int flags) { } } +/** Used both to create reprs in the original document, and to create + * reprs in another document (e.g. a temporary document used when + * saving as "Plain SVG" + */ Inkscape::XML::Node * SPObject::updateRepr(Inkscape::XML::Node *repr, unsigned int flags) { if (SP_OBJECT_IS_CLONED(this)) { @@ -1204,9 +1208,10 @@ SPObject::updateRepr(Inkscape::XML::Node *repr, unsigned int flags) { g_warning("Class %s does not implement ::write", G_OBJECT_TYPE_NAME(this)); if (!repr) { if (flags & SP_OBJECT_WRITE_BUILD) { - repr = SP_OBJECT_REPR(this)->duplicate(); + /// \todo FIXME: Plumb an appropriate XML::Document into this + repr = SP_OBJECT_REPR(this)->duplicate(NULL); } - /// \todo fixme: else probably error (Lauris) */ + /// \todo FIXME: else probably error (Lauris) */ } else { repr->mergeFrom(SP_OBJECT_REPR(this), "id"); } |
