diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2013-01-24 19:45:45 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2013-01-24 19:45:45 +0000 |
| commit | 988890b65df3543ea812535feb7a8c5c5e81178e (patch) | |
| tree | 9214960f6ab838f332c8b2a79b237bbc4add1d70 /src/sp-string.cpp | |
| parent | merge from trunk (r12051) (diff) | |
| parent | fix crash (diff) | |
| download | inkscape-988890b65df3543ea812535feb7a8c5c5e81178e.tar.gz inkscape-988890b65df3543ea812535feb7a8c5c5e81178e.zip | |
merge from trunk (r12063)
(bzr r11668.1.49)
Diffstat (limited to 'src/sp-string.cpp')
| -rw-r--r-- | src/sp-string.cpp | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/src/sp-string.cpp b/src/sp-string.cpp index 3512aa45a..2fe84ac6a 100644 --- a/src/sp-string.cpp +++ b/src/sp-string.cpp @@ -37,37 +37,12 @@ # SPSTRING #####################################################*/ -static void sp_string_class_init(SPStringClass *classname); -static void sp_string_init(SPString *string); - static void sp_string_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static void sp_string_release(SPObject *object); static void sp_string_read_content(SPObject *object); static void sp_string_update(SPObject *object, SPCtx *ctx, unsigned flags); -static SPObjectClass *string_parent_class; - -GType -sp_string_get_type() -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPStringClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_string_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof(SPString), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_string_init, - NULL, /* value_table */ - }; - type = g_type_register_static(SP_TYPE_OBJECT, "SPString", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(SPString, sp_string, SP_TYPE_OBJECT); static void sp_string_class_init(SPStringClass *classname) @@ -76,8 +51,6 @@ sp_string_class_init(SPStringClass *classname) sp_object_class = (SPObjectClass *) classname; - string_parent_class = (SPObjectClass*)g_type_class_ref(SP_TYPE_OBJECT); - sp_object_class->build = sp_string_build; sp_object_class->release = sp_string_release; sp_object_class->read_content = sp_string_read_content; @@ -95,8 +68,8 @@ sp_string_build(SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr) { sp_string_read_content(object); - if (((SPObjectClass *) string_parent_class)->build) - ((SPObjectClass *) string_parent_class)->build(object, doc, repr); + if (((SPObjectClass *) sp_string_parent_class)->build) + ((SPObjectClass *) sp_string_parent_class)->build(object, doc, repr); } static void @@ -106,8 +79,8 @@ sp_string_release(SPObject *object) string->string.~ustring(); - if (((SPObjectClass *) string_parent_class)->release) - ((SPObjectClass *) string_parent_class)->release(object); + if (((SPObjectClass *) sp_string_parent_class)->release) + ((SPObjectClass *) sp_string_parent_class)->release(object); } static void @@ -156,8 +129,8 @@ sp_string_read_content(SPObject *object) static void sp_string_update(SPObject *object, SPCtx *ctx, unsigned flags) { - if (((SPObjectClass *) string_parent_class)->update) - ((SPObjectClass *) string_parent_class)->update(object, ctx, flags); + if (((SPObjectClass *) sp_string_parent_class)->update) + ((SPObjectClass *) sp_string_parent_class)->update(object, ctx, flags); if (flags & (SP_OBJECT_STYLE_MODIFIED_FLAG | SP_OBJECT_MODIFIED_FLAG)) { /* Parent style or we ourselves changed, so recalculate */ |
