summaryrefslogtreecommitdiffstats
path: root/src/sp-offset.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-offset.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-offset.cpp')
-rw-r--r--src/sp-offset.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/sp-offset.cpp b/src/sp-offset.cpp
index 511a0c4b1..3a8bf5a10 100644
--- a/src/sp-offset.cpp
+++ b/src/sp-offset.cpp
@@ -87,7 +87,7 @@ static void sp_offset_source_modified (SPObject *iSource, guint flags, SPItem *i
// reappearing in offset when the radius becomes too large
static bool use_slow_but_correct_offset_method=false;
-G_DEFINE_TYPE(SPOffset, sp_offset, SP_TYPE_SHAPE);
+G_DEFINE_TYPE(SPOffset, sp_offset, G_TYPE_OBJECT);
/**
* SPOffset vtable initialization.
@@ -106,12 +106,9 @@ COffset::COffset(SPOffset* offset) : CShape(offset) {
COffset::~COffset() {
}
-/**
- * Callback for SPOffset object initialization.
- */
-static void
-sp_offset_init(SPOffset *offset)
-{
+SPOffset::SPOffset() : SPShape() {
+ SPOffset* offset = this;
+
offset->coffset = new COffset(offset);
offset->typeHierarchy.insert(typeid(SPOffset));
@@ -141,6 +138,15 @@ sp_offset_init(SPOffset *offset)
}
/**
+ * Callback for SPOffset object initialization.
+ */
+static void
+sp_offset_init(SPOffset *offset)
+{
+ new (offset) SPOffset();
+}
+
+/**
* Callback for SPOffset finalization.
*/
static void