summaryrefslogtreecommitdiffstats
path: root/src/sp-polygon.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-polygon.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-polygon.cpp')
-rw-r--r--src/sp-polygon.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/sp-polygon.cpp b/src/sp-polygon.cpp
index 7f9192839..dd09663c7 100644
--- a/src/sp-polygon.cpp
+++ b/src/sp-polygon.cpp
@@ -25,7 +25,7 @@
#include "xml/repr.h"
#include "document.h"
-G_DEFINE_TYPE(SPPolygon, sp_polygon, SP_TYPE_SHAPE);
+G_DEFINE_TYPE(SPPolygon, sp_polygon, G_TYPE_OBJECT);
static void sp_polygon_class_init(SPPolygonClass *pc)
{
@@ -38,8 +38,9 @@ CPolygon::CPolygon(SPPolygon* polygon) : CShape(polygon) {
CPolygon::~CPolygon() {
}
-static void sp_polygon_init(SPPolygon *polygon)
-{
+SPPolygon::SPPolygon() : SPShape() {
+ SPPolygon* polygon = this;
+
polygon->cpolygon = new CPolygon(polygon);
polygon->typeHierarchy.insert(typeid(SPPolygon));
@@ -50,6 +51,11 @@ static void sp_polygon_init(SPPolygon *polygon)
polygon->cobject = polygon->cpolygon;
}
+static void sp_polygon_init(SPPolygon *polygon)
+{
+ new (polygon) SPPolygon();
+}
+
void CPolygon::build(SPDocument *document, Inkscape::XML::Node *repr) {
SPPolygon* object = this->sppolygon;