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-use.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-use.cpp')
| -rw-r--r-- | src/sp-use.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/sp-use.cpp b/src/sp-use.cpp index 64a167014..f146ef1db 100644 --- a/src/sp-use.cpp +++ b/src/sp-use.cpp @@ -47,7 +47,7 @@ static void sp_use_delete_self(SPObject *deleted, SPUse *self); //void m_print(gchar *say, Geom::Affine m) //{ g_print("%s %g %g %g %g %g %g\n", say, m[0], m[1], m[2], m[3], m[4], m[5]); } -G_DEFINE_TYPE(SPUse, sp_use, SP_TYPE_ITEM); +G_DEFINE_TYPE(SPUse, sp_use, G_TYPE_OBJECT); static void sp_use_class_init(SPUseClass *classname) @@ -63,9 +63,9 @@ CUse::CUse(SPUse* use) : CItem(use) { CUse::~CUse() { } -static void -sp_use_init(SPUse *use) -{ +SPUse::SPUse() : SPItem() { + SPUse* use = this; + use->cuse = new CUse(use); use->typeHierarchy.insert(typeid(SPUse)); @@ -73,6 +73,8 @@ sp_use_init(SPUse *use) use->citem = use->cuse; use->cobject = use->cuse; + use->child = NULL; + use->x.unset(); use->y.unset(); use->width.unset(SVGLength::PERCENT, 1.0, 1.0); @@ -90,6 +92,12 @@ sp_use_init(SPUse *use) } static void +sp_use_init(SPUse *use) +{ + new (use) SPUse(); +} + +static void sp_use_finalize(GObject *obj) { SPUse *use = reinterpret_cast<SPUse *>(obj); |
