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-pattern.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-pattern.cpp')
| -rw-r--r-- | src/sp-pattern.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/sp-pattern.cpp b/src/sp-pattern.cpp index f04ba3f0a..a9b8ae2ed 100644 --- a/src/sp-pattern.cpp +++ b/src/sp-pattern.cpp @@ -43,7 +43,7 @@ static void pattern_ref_changed(SPObject *old_ref, SPObject *ref, SPPattern *pat); static void pattern_ref_modified (SPObject *ref, guint flags, SPPattern *pattern); -G_DEFINE_TYPE(SPPattern, sp_pattern, SP_TYPE_PAINT_SERVER); +G_DEFINE_TYPE(SPPattern, sp_pattern, G_TYPE_OBJECT); static void sp_pattern_class_init (SPPatternClass *klass) @@ -57,9 +57,9 @@ CPattern::CPattern(SPPattern* pattern) : CPaintServer(pattern) { CPattern::~CPattern() { } -static void -sp_pattern_init (SPPattern *pat) -{ +SPPattern::SPPattern() : SPPaintServer() { + SPPattern* pat = this; + pat->cpattern = new CPattern(pat); pat->typeHierarchy.insert(typeid(SPPattern)); @@ -67,6 +67,8 @@ sp_pattern_init (SPPattern *pat) pat->cpaintserver = pat->cpattern; pat->cobject = pat->cpattern; + pat->href = NULL; + pat->ref = new SPPatternReference(pat); pat->ref->changedSignal().connect(sigc::bind(sigc::ptr_fun(pattern_ref_changed), pat)); @@ -89,6 +91,12 @@ sp_pattern_init (SPPattern *pat) new (&pat->modified_connection) sigc::connection(); } +static void +sp_pattern_init (SPPattern *pat) +{ + new (pat) SPPattern(); +} + void CPattern::build(SPDocument* doc, Inkscape::XML::Node* repr) { SPPattern* object = this->sppattern; |
