summaryrefslogtreecommitdiffstats
path: root/src/sp-metadata.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-04-01 23:41:30 +0000
committerMarkus Engel <markus.engel@tum.de>2013-04-01 23:41:30 +0000
commit69f3b6f1abb2bb422935d43262e1e99aab359954 (patch)
treee1e2d2b0504d22e81b04501155995f5694a4cd7b /src/sp-metadata.cpp
parentAdded experimental constructor to SPRect. Memory leaks because of non-virtual... (diff)
downloadinkscape-69f3b6f1abb2bb422935d43262e1e99aab359954.tar.gz
inkscape-69f3b6f1abb2bb422935d43262e1e99aab359954.zip
Added constructors to SP classes.
(bzr r11608.1.67)
Diffstat (limited to 'src/sp-metadata.cpp')
-rw-r--r--src/sp-metadata.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/sp-metadata.cpp b/src/sp-metadata.cpp
index 28bf1767b..40ed0c603 100644
--- a/src/sp-metadata.cpp
+++ b/src/sp-metadata.cpp
@@ -33,7 +33,7 @@
/* Metadata base class */
-G_DEFINE_TYPE(SPMetadata, sp_metadata, SP_TYPE_OBJECT);
+G_DEFINE_TYPE(SPMetadata, sp_metadata, G_TYPE_OBJECT);
static void
sp_metadata_class_init (SPMetadataClass *klass)
@@ -47,9 +47,9 @@ CMetadata::CMetadata(SPMetadata* metadata) : CObject(metadata) {
CMetadata::~CMetadata() {
}
-static void
-sp_metadata_init (SPMetadata *metadata)
-{
+SPMetadata::SPMetadata() : SPObject() {
+ SPMetadata* metadata = this;
+
metadata->cmetadata = new CMetadata(metadata);
metadata->typeHierarchy.insert(typeid(SPMetadata));
@@ -60,6 +60,12 @@ sp_metadata_init (SPMetadata *metadata)
debug("0x%08x",(unsigned int)metadata);
}
+static void
+sp_metadata_init (SPMetadata *metadata)
+{
+ new (metadata) SPMetadata();
+}
+
namespace {
void strip_ids_recursively(Inkscape::XML::Node *node) {