diff --git a/src/sp-metadata.cpp b/src/sp-metadata.cpp
index 9fb67feb41048b395c356da9f46e967b05a4b314..426810c7d9b607c275c904d272e56895641bac5d 100644 (file)
--- a/src/sp-metadata.cpp
+++ b/src/sp-metadata.cpp
static void sp_metadata_release (SPObject *object);
static void sp_metadata_set (SPObject *object, unsigned int key, const gchar *value);
static void sp_metadata_update(SPObject *object, SPCtx *ctx, guint flags);
-static Inkscape::XML::Node *sp_metadata_write(SPObject *object, Inkscape::XML::Node *repr, guint flags);
+static Inkscape::XML::Node *sp_metadata_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
static SPObjectClass *metadata_parent_class;
* \brief Writes it's settings to an incoming repr object, if any
*/
static Inkscape::XML::Node *
-sp_metadata_write(SPObject *object, Inkscape::XML::Node *repr, guint flags)
+sp_metadata_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags)
{
debug("0x%08x",(unsigned int)object);
//SPMetadata *metadata = SP_METADATA(object);
- // only create a repr when we're writing out an Inkscape SVG
- if ( flags & SP_OBJECT_WRITE_EXT && repr != SP_OBJECT_REPR(object) ) {
+ if ( repr != SP_OBJECT_REPR(object) ) {
if (repr) {
repr->mergeFrom(SP_OBJECT_REPR (object), "id");
} else {
- repr = SP_OBJECT_REPR (object)->duplicate(NULL); // FIXME
+ repr = SP_OBJECT_REPR (object)->duplicate(doc);
}
}
- if (((SPObjectClass *) metadata_parent_class)->write)
- ((SPObjectClass *) metadata_parent_class)->write(object, repr, flags);
+ if (((SPObjectClass *) metadata_parent_class)->write) {
+ ((SPObjectClass *) metadata_parent_class)->write(object, doc, repr, flags);
+ }
return repr;
}