diff options
| author | Markus Engel <markus.engel@tum.de> | 2013-04-01 23:41:30 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2013-04-01 23:41:30 +0000 |
| commit | 69f3b6f1abb2bb422935d43262e1e99aab359954 (patch) | |
| tree | e1e2d2b0504d22e81b04501155995f5694a4cd7b /src/sp-offset.cpp | |
| parent | Added experimental constructor to SPRect. Memory leaks because of non-virtual... (diff) | |
| download | inkscape-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.cpp | 20 |
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 |
