From 6e5d89bf9595648fcebcf76fd031ba1ea022d397 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Fri, 9 Mar 2018 00:50:57 +0100 Subject: Fixing refs --- src/ui/tool/path-manipulator.cpp | 12 ++++-------- src/ui/tools/eraser-tool.cpp | 11 ----------- src/ui/tools/tweak-tool.cpp | 2 -- 3 files changed, 4 insertions(+), 21 deletions(-) (limited to 'src/ui') diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp index dcf0a4d4b..67d914095 100644 --- a/src/ui/tool/path-manipulator.cpp +++ b/src/ui/tool/path-manipulator.cpp @@ -190,8 +190,7 @@ void PathManipulator::writeXML() { if (!_live_outline) _updateOutline(); - if (_live_objects) - _setGeometry(); + _setGeometry(); if (!_path) return; _observer->block(); @@ -201,9 +200,7 @@ void PathManipulator::writeXML() } else { // this manipulator will have to be destroyed right after this call _getXMLNode()->removeObserver(*_observer); - sp_object_ref(_path); _path->deleteObject(true, true); - sp_object_unref(_path); _path = NULL; } _observer->unblock(); @@ -1393,8 +1390,7 @@ void PathManipulator::_createGeometryFromControlPoints(bool alert_LPE) } if (_live_outline) _updateOutline(); - if (_live_objects) - _setGeometry(); + _setGeometry(); } /** Build one segment of the geometric representation. @@ -1515,8 +1511,8 @@ void PathManipulator::_setGeometry() if (empty()) return; if (SPCurve * original = _path->getCurveBeforeLPE()){ if(!_spcurve->is_equal(original)) { - _path->setCurveBeforeLPE(_spcurve); - delete original; + _path->setCurveBeforeLPE(_spcurve, false, false); + original->unref(); } } else if(!_spcurve->is_equal(_path->getCurve(true))) { _path->setCurve(_spcurve, false); diff --git a/src/ui/tools/eraser-tool.cpp b/src/ui/tools/eraser-tool.cpp index 01ae71413..8bf4ad82d 100644 --- a/src/ui/tools/eraser-tool.cpp +++ b/src/ui/tools/eraser-tool.cpp @@ -702,10 +702,8 @@ void EraserTool::set_to_accumulated() { SPItem *item = *i; SPUse *use = dynamic_cast(item); if (SP_IS_PATH(item) && SP_PATH(item)->nodesInPath () == 2){ - sp_object_ref( *i, 0 ); SPItem *item = *i; item->deleteObject(true); - sp_object_unref(item); workDone = true; } else if (SP_IS_GROUP(item) || use ) { /*Do nothing*/ @@ -784,9 +782,7 @@ void EraserTool::set_to_accumulated() { SPItem * dup_clip_obj = SP_ITEM(item_repr->parent->appendChildRepr(dup_clip)); if (dup_clip_obj) { dup_clip_obj->doWriteTransform(item->transform); - sp_object_ref(clip_path, 0); clip_path->deleteObject(true); - sp_object_unref(clip_path); selection->raiseToTop(true); selection->add(dup_clip); selection->pathDiff(true); @@ -813,9 +809,7 @@ void EraserTool::set_to_accumulated() { } else { SPItem *erase_clip = selection->singleItem(); if (erase_clip) { - sp_object_ref(erase_clip, 0); erase_clip->deleteObject(true); - sp_object_unref(erase_clip); } } workDone = true; @@ -826,14 +820,9 @@ void EraserTool::set_to_accumulated() { } } } else { - for (std::vector ::const_iterator i = toWorkOn.begin();i!=toWorkOn.end();++i) { - sp_object_ref( *i, 0 ); - } - for (std::vector::const_iterator i = toWorkOn.begin();i!=toWorkOn.end();++i) { SPItem *item = *i; item->deleteObject(true); - sp_object_unref(item); workDone = true; } } diff --git a/src/ui/tools/tweak-tool.cpp b/src/ui/tools/tweak-tool.cpp index efa872ac1..6698316c7 100644 --- a/src/ui/tools/tweak-tool.cpp +++ b/src/ui/tools/tweak-tool.cpp @@ -468,9 +468,7 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, Geom::P double chance = g_random_double_range(0, 1); if (chance <= prob) { if (reverse) { // delete - sp_object_ref(item, NULL); item->deleteObject(true, true); - sp_object_unref(item, NULL); } else { // duplicate SPDocument *doc = item->document; Inkscape::XML::Document* xml_doc = doc->getReprDoc(); -- cgit v1.2.3