From 5a2dae366dd8d2797b55b0cd0eb801d2e03f0176 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Wed, 9 Oct 2019 06:05:56 +0000 Subject: Improve node selection ~x3 removing unneded updateNow() called in non necesary places. Also ensure canvas is always redraw --- src/ui/tool/multi-path-manipulator.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/ui/tool/multi-path-manipulator.cpp') diff --git a/src/ui/tool/multi-path-manipulator.cpp b/src/ui/tool/multi-path-manipulator.cpp index 90662237e..544ababbe 100644 --- a/src/ui/tool/multi-path-manipulator.cpp +++ b/src/ui/tool/multi-path-manipulator.cpp @@ -181,7 +181,11 @@ void MultiPathManipulator::setItems(std::set const &s) } // add newly selected items + bool updatecanvas = false; for (const auto & r : shapes) { + if (IS_LIVEPATHEFFECT(r.item)) { + updatecanvas = true; + } if (!SP_IS_PATH(r.item) && !IS_LIVEPATHEFFECT(r.item)) continue; std::shared_ptr newpm(new PathManipulator(*this, (SPPath*) r.item, r.edit_transform, _getOutlineColor(r.role, r.item), r.lpe_key)); @@ -193,6 +197,9 @@ void MultiPathManipulator::setItems(std::set const &s) newpm->setLiveObjects(_live_objects); _mmap.insert(std::make_pair(r, newpm)); } + if (updatecanvas) { + _desktop->updateNow(); + } } void MultiPathManipulator::selectSubpaths() -- cgit v1.2.3