summaryrefslogtreecommitdiffstats
path: root/src/sp-star.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-star.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-star.cpp')
-rw-r--r--src/sp-star.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/sp-star.cpp b/src/sp-star.cpp
index 0b89ed10c..11e367faf 100644
--- a/src/sp-star.cpp
+++ b/src/sp-star.cpp
@@ -32,7 +32,7 @@
#include "sp-star.h"
-G_DEFINE_TYPE(SPStar, sp_star, SP_TYPE_SHAPE);
+G_DEFINE_TYPE(SPStar, sp_star, G_TYPE_OBJECT);
static void sp_star_class_init(SPStarClass *klass)
{
@@ -45,9 +45,9 @@ CStar::CStar(SPStar* star) : CPolygon(star) {
CStar::~CStar() {
}
-static void
-sp_star_init (SPStar * star)
-{
+SPStar::SPStar() : SPPolygon() {
+ SPStar* star = this;
+
star->cstar = new CStar(star);
star->typeHierarchy.insert(typeid(SPStar));
@@ -68,6 +68,12 @@ sp_star_init (SPStar * star)
star->randomized = 0.0;
}
+static void
+sp_star_init (SPStar * star)
+{
+ new (star) SPStar();
+}
+
void CStar::build(SPDocument * document, Inkscape::XML::Node * repr) {
SPStar* object = this->spstar;