From ca8f8f8e647393e937e4c8f7ff5a029d30fbbd18 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Fri, 18 Oct 2019 14:54:47 +0200 Subject: Make href and unhref member functions of SPObject. --- src/object/sp-object.cpp | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'src/object/sp-object.cpp') diff --git a/src/object/sp-object.cpp b/src/object/sp-object.cpp index dabf5219a..e82329d1b 100644 --- a/src/object/sp-object.cpp +++ b/src/object/sp-object.cpp @@ -242,8 +242,9 @@ SPObject *sp_object_ref(SPObject *object, SPObject *owner) g_return_val_if_fail(!owner || SP_IS_OBJECT(owner), NULL); Inkscape::Debug::EventTracker tracker(object); - //g_object_ref(G_OBJECT(object)); + object->refCount++; + return object; } @@ -254,7 +255,7 @@ SPObject *sp_object_unref(SPObject *object, SPObject *owner) g_return_val_if_fail(!owner || SP_IS_OBJECT(owner), NULL); Inkscape::Debug::EventTracker tracker(object); - //g_object_unref(G_OBJECT(object)); + object->refCount--; if (object->refCount <= 0) { @@ -264,33 +265,24 @@ SPObject *sp_object_unref(SPObject *object, SPObject *owner) return nullptr; } -SPObject *sp_object_href(SPObject *object, SPObject* owner) +void SPObject::hrefObject(SPObject* owner) { - g_return_val_if_fail(object != nullptr, NULL); - g_return_val_if_fail(SP_IS_OBJECT(object), NULL); - - object->hrefcount++; - object->_updateTotalHRefCount(1); + hrefcount++; + _updateTotalHRefCount(1); if(owner) - object->hrefList.push_front(owner); - - return object; + hrefList.push_front(owner); } -SPObject *sp_object_hunref(SPObject *object, SPObject* owner) +void SPObject::unhrefObject(SPObject* owner) { - g_return_val_if_fail(object != nullptr, NULL); - g_return_val_if_fail(SP_IS_OBJECT(object), NULL); - g_return_val_if_fail(object->hrefcount > 0, NULL); + g_return_if_fail(hrefcount > 0); - object->hrefcount--; - object->_updateTotalHRefCount(-1); + hrefcount--; + _updateTotalHRefCount(-1); if(owner) - object->hrefList.remove(owner); - - return nullptr; + hrefList.remove(owner); } void SPObject::_updateTotalHRefCount(int increment) { -- cgit v1.2.3