summaryrefslogtreecommitdiffstats
path: root/src/sp-paint-server.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-paint-server.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-paint-server.cpp')
-rw-r--r--src/sp-paint-server.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/sp-paint-server.cpp b/src/sp-paint-server.cpp
index f75176f0e..cabd6809c 100644
--- a/src/sp-paint-server.cpp
+++ b/src/sp-paint-server.cpp
@@ -30,7 +30,7 @@ bool SPPaintServerReference::_acceptObject(SPObject *obj) const
return SP_IS_PAINT_SERVER(obj);
}
-G_DEFINE_TYPE(SPPaintServer, sp_paint_server, SP_TYPE_OBJECT);
+G_DEFINE_TYPE(SPPaintServer, sp_paint_server, G_TYPE_OBJECT);
static void sp_paint_server_class_init(SPPaintServerClass *psc)
{
@@ -43,14 +43,22 @@ CPaintServer::CPaintServer(SPPaintServer* paintserver) : CObject(paintserver) {
CPaintServer::~CPaintServer() {
}
-static void
-sp_paint_server_init(SPPaintServer *ps)
-{
+SPPaintServer::SPPaintServer() : SPObject() {
+ SPPaintServer* ps = this;
+
ps->cpaintserver = new CPaintServer(ps);
ps->typeHierarchy.insert(typeid(SPPaintServer));
delete ps->cobject;
ps->cobject = ps->cpaintserver;
+
+ ps->swatch = 0;
+}
+
+static void
+sp_paint_server_init(SPPaintServer *ps)
+{
+ new (ps) SPPaintServer();
}
cairo_pattern_t *sp_paint_server_invoke_create_pattern(SPPaintServer *ps,