summaryrefslogtreecommitdiffstats
path: root/src/persp3d.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/persp3d.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/persp3d.cpp')
-rw-r--r--src/persp3d.cpp20
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) {