diff options
Diffstat (limited to 'src/sp-object.cpp')
| -rw-r--r-- | src/sp-object.cpp | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/sp-object.cpp b/src/sp-object.cpp index 0ba74990e..66f9b5ab8 100644 --- a/src/sp-object.cpp +++ b/src/sp-object.cpp @@ -118,12 +118,9 @@ sp_object_class_init(SPObjectClass *klass) object_class->finalize = sp_object_finalize; } -/** - * Callback to initialize the SPObject object. - */ -static void -sp_object_init(SPObject *object) -{ +SPObject::SPObject() { + SPObject* object = this; + debug("id=%x, typename=%s",object, g_type_name_from_instance((GTypeInstance*)object)); object->cobject = new CObject(object); @@ -131,6 +128,12 @@ sp_object_init(SPObject *object) new (&object->typeHierarchy) std::set<TypeInfo>(); object->typeHierarchy.insert(typeid(SPObject)); + object->repr = NULL; + object->mflags = 0; + object->id = NULL; + object->cloned = 0; + object->uflags = 0; + object->hrefcount = 0; object->_total_hrefcount = 0; object->document = NULL; @@ -160,6 +163,15 @@ sp_object_init(SPObject *object) object->_default_label = NULL; } +/** + * Callback to initialize the SPObject object. + */ +static void +sp_object_init(SPObject *object) +{ + new (object) SPObject(); +} + // CPPIFY: make pure virtual void CObject::read_content() { //throw; |
