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/persp3d.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/persp3d.cpp')
| -rw-r--r-- | src/persp3d.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/persp3d.cpp b/src/persp3d.cpp index 50ecd6522..2d67ac1a2 100644 --- a/src/persp3d.cpp +++ b/src/persp3d.cpp @@ -43,7 +43,7 @@ Persp3DImpl::Persp3DImpl() { my_counter = global_counter++; } -G_DEFINE_TYPE(Persp3D, persp3d, SP_TYPE_OBJECT); +G_DEFINE_TYPE(Persp3D, persp3d, G_TYPE_OBJECT); static Inkscape::XML::NodeEventVector const persp3d_repr_events = { NULL, /* child_added */ @@ -69,12 +69,9 @@ CPersp3D::CPersp3D(Persp3D* persp3d) : CObject(persp3d) { CPersp3D::~CPersp3D() { } -/** - * Callback to initialize Persp3D object. - */ -static void -persp3d_init(Persp3D *persp) -{ +Persp3D::Persp3D() : SPObject() { + Persp3D* persp = this; + persp->cpersp3d = new CPersp3D(persp); persp->typeHierarchy.insert(typeid(Persp3D)); @@ -85,6 +82,15 @@ persp3d_init(Persp3D *persp) } /** + * Callback to initialize Persp3D object. + */ +static void +persp3d_init(Persp3D *persp) +{ + new (persp) Persp3D(); +} + +/** * Virtual build: set persp3d attributes from its associated XML node. */ void CPersp3D::build(SPDocument *document, Inkscape::XML::Node *repr) { |
