summaryrefslogtreecommitdiffstats
path: root/src/sp-filter.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.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.cpp')
-rw-r--r--src/sp-filter.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp
index 67fdd1ed9..998c28865 100644
--- a/src/sp-filter.cpp
+++ b/src/sp-filter.cpp
@@ -41,7 +41,7 @@ using std::pair;
static void filter_ref_changed(SPObject *old_ref, SPObject *ref, SPFilter *filter);
static void filter_ref_modified(SPObject *href, guint flags, SPFilter *filter);
-G_DEFINE_TYPE(SPFilter, sp_filter, SP_TYPE_OBJECT);
+G_DEFINE_TYPE(SPFilter, sp_filter, G_TYPE_OBJECT);
static void
sp_filter_class_init(SPFilterClass *klass)
@@ -55,9 +55,9 @@ CFilter::CFilter(SPFilter* filter) : CObject(filter) {
CFilter::~CFilter() {
}
-static void
-sp_filter_init(SPFilter *filter)
-{
+SPFilter::SPFilter() : SPObject() {
+ SPFilter* filter = this;
+
filter->cfilter = new CFilter(filter);
filter->typeHierarchy.insert(typeid(SPFilter));
@@ -88,6 +88,12 @@ sp_filter_init(SPFilter *filter)
new (&filter->modified_connection) sigc::connection();
}
+static void
+sp_filter_init(SPFilter *filter)
+{
+ new (filter) SPFilter();
+}
+
/**
* Reads the Inkscape::XML::Node, and initializes SPFilter variables. For this to get called,
* our name must be associated with a repr via "sp_object_type_register". Best done through