summaryrefslogtreecommitdiffstats
path: root/src/sp-filter-primitive.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-filter-primitive.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-filter-primitive.cpp')
-rw-r--r--src/sp-filter-primitive.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/sp-filter-primitive.cpp b/src/sp-filter-primitive.cpp
index d788b4314..c7de36978 100644
--- a/src/sp-filter-primitive.cpp
+++ b/src/sp-filter-primitive.cpp
@@ -42,14 +42,14 @@ GType sp_filter_primitive_get_type()
GTypeInfo filter_primitive_info = {
sizeof(SPFilterPrimitiveClass),
NULL, NULL,
- (GClassInitFunc) sp_filter_primitive_class_init,
+ 0,//(GClassInitFunc) sp_filter_primitive_class_init,
NULL, NULL,
sizeof(SPFilterPrimitive),
16,
(GInstanceInitFunc) sp_filter_primitive_init,
NULL, /* value_table */
};
- filter_primitive_type = g_type_register_static(SP_TYPE_OBJECT, "SPFilterPrimitive", &filter_primitive_info, (GTypeFlags)0);
+ filter_primitive_type = g_type_register_static(G_TYPE_OBJECT, "SPFilterPrimitive", &filter_primitive_info, (GTypeFlags)0);
}
return filter_primitive_type;
}
@@ -72,8 +72,9 @@ void CFilterPrimitive::build_renderer(Inkscape::Filters::Filter* filter) {
// throw;
}
-static void sp_filter_primitive_init(SPFilterPrimitive *filter_primitive)
-{
+SPFilterPrimitive::SPFilterPrimitive() : SPObject() {
+ SPFilterPrimitive* filter_primitive = this;
+
filter_primitive->cfilterprimitive = new CFilterPrimitive(filter_primitive);
filter_primitive->typeHierarchy.insert(typeid(SPFilterPrimitive));
@@ -94,6 +95,11 @@ static void sp_filter_primitive_init(SPFilterPrimitive *filter_primitive)
filter_primitive->height.unset(SVGLength::PERCENT, 1, 0);
}
+static void sp_filter_primitive_init(SPFilterPrimitive *filter_primitive)
+{
+ new (filter_primitive) SPFilterPrimitive();
+}
+
/**
* Reads the Inkscape::XML::Node, and initializes SPFilterPrimitive variables. For this to get called,
* our name must be associated with a repr via "sp_object_type_register". Best done through