diff options
Diffstat (limited to 'src/sp-root.cpp')
| -rw-r--r-- | src/sp-root.cpp | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/sp-root.cpp b/src/sp-root.cpp index 1767c4cd2..ac2ffdbf7 100644 --- a/src/sp-root.cpp +++ b/src/sp-root.cpp @@ -31,7 +31,7 @@ #include "svg/svg.h" #include "xml/repr.h" -G_DEFINE_TYPE(SPRoot, sp_root, SP_TYPE_GROUP); +G_DEFINE_TYPE(SPRoot, sp_root, G_TYPE_OBJECT); /** * Initializes an SPRootClass object by setting its class and parent class objects, and registering @@ -48,11 +48,9 @@ CRoot::CRoot(SPRoot* root) : CGroup(root) { CRoot::~CRoot() { } -/** - * Initializes an SPRoot object by setting its default parameter values. - */ -static void sp_root_init(SPRoot *root) -{ +SPRoot::SPRoot() : SPGroup() { + SPRoot* root = this; + root->croot = new CRoot(root); root->typeHierarchy.insert(typeid(SPRoot)); @@ -62,6 +60,11 @@ static void sp_root_init(SPRoot *root) root->citem = root->croot; root->cobject = root->croot; + root->aspect_set = 0; + root->aspect_align = 0; + root->onload = NULL; + root->aspect_clip = 0; + static Inkscape::Version const zero_version(0, 0); sp_version_from_string(SVG_VERSION, &root->original.svg); @@ -82,6 +85,14 @@ static void sp_root_init(SPRoot *root) root->defs = NULL; } +/** + * Initializes an SPRoot object by setting its default parameter values. + */ +static void sp_root_init(SPRoot *root) +{ + new (root) SPRoot(); +} + void CRoot::build(SPDocument *document, Inkscape::XML::Node *repr) { SPRoot* object = this->sproot; |
