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-polygon.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-polygon.cpp')
| -rw-r--r-- | src/sp-polygon.cpp | 12 |
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; |
