diff --git a/src/sp-object.cpp b/src/sp-object.cpp
index fd368dd613a0164915c70f0797dec0bb09f10f08..9068c4ba2ae0e0b2bdf19f6e65739df32077db58 100644 (file)
--- a/src/sp-object.cpp
+++ b/src/sp-object.cpp
namespace {
-Inkscape::Util::shared_ptr<char> stringify(SPObject *obj) {
+Inkscape::Util::ptr_shared<char> stringify(SPObject *obj) {
char *temp=g_strdup_printf("%p", obj);
- Inkscape::Util::shared_ptr<char> result=Inkscape::Util::share_string(temp);
+ Inkscape::Util::ptr_shared<char> result=Inkscape::Util::share_string(temp);
g_free(temp);
return result;
}
-Inkscape::Util::shared_ptr<char> stringify(unsigned n) {
+Inkscape::Util::ptr_shared<char> stringify(unsigned n) {
char *temp=g_strdup_printf("%u", n);
- Inkscape::Util::shared_ptr<char> result=Inkscape::Util::share_string(temp);
+ Inkscape::Util::ptr_shared<char> result=Inkscape::Util::share_string(temp);
g_free(temp);
return result;
}
static Category category() { return REFCOUNT; }
- Inkscape::Util::shared_ptr<char> name() const {
+ Inkscape::Util::ptr_shared<char> name() const {
if ( _type == REF) {
return Inkscape::Util::share_static_string("sp-object-ref");
} else {
}
private:
- Inkscape::Util::shared_ptr<char> _object;
+ Inkscape::Util::ptr_shared<char> _object;
unsigned _refcount;
Type _type;
};
g_return_if_fail(SP_IS_OBJECT(object));
g_return_if_fail(object->parent == parent);
+ sp_object_invoke_release(object);
+
SPObject *prev=NULL;
for ( SPObject *child = parent->children ; child && child != object ;
child = child->next )
object->next = NULL;
object->parent = NULL;
- sp_object_invoke_release(object);
parent->_updateTotalHRefCount(-object->_total_hrefcount);
sp_object_unref(object, parent);
}
g_assert(object != NULL);
g_assert(SP_IS_OBJECT(object));
- // we need to remember our parent
- // g_assert(!object->parent);
- g_assert(!object->next);
g_assert(object->document);
g_assert(object->repr);