diff options
| author | Jabiertxof <jtx@jtx> | 2017-01-21 23:33:24 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx> | 2017-01-21 23:33:24 +0000 |
| commit | eeb5405c1b2734322ca9ed506e8a8e16a87c2a4f (patch) | |
| tree | 5f98cdb1ee5633b69ec1f5c21d0d5e69f8770ad2 /src/ui/tool/path-manipulator.cpp | |
| parent | Organize doeffect function (diff) | |
| parent | Fix "swap fill and stroke" for multiple objects in selection (diff) | |
| download | inkscape-eeb5405c1b2734322ca9ed506e8a8e16a87c2a4f.tar.gz inkscape-eeb5405c1b2734322ca9ed506e8a8e16a87c2a4f.zip | |
Update to trunk
(bzr r13645.1.165)
Diffstat (limited to 'src/ui/tool/path-manipulator.cpp')
| -rw-r--r-- | src/ui/tool/path-manipulator.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp index 0d603ad1f..f2899dd01 100644 --- a/src/ui/tool/path-manipulator.cpp +++ b/src/ui/tool/path-manipulator.cpp @@ -12,36 +12,23 @@ #include "live_effects/lpe-powerstroke.h" #include "live_effects/lpe-bspline.h" -#include <string> -#include <sstream> -#include <deque> -#include <stdexcept> -#include <boost/shared_ptr.hpp> -#include <2geom/bezier-curve.h> #include <2geom/bezier-utils.h> #include <2geom/path-sink.h> -#include <glibmm/i18n.h> #include "ui/tool/path-manipulator.h" -#include "desktop.h" #include "display/sp-canvas.h" #include "display/sp-canvas-util.h" #include "display/curve.h" #include "display/canvas-bpath.h" -#include "document.h" -#include "live_effects/effect.h" #include "live_effects/lpeobject.h" #include "live_effects/lpeobject-reference.h" #include "live_effects/parameter/path.h" -#include "sp-path.h" #include "helper/geom.h" -#include "preferences.h" #include "style.h" #include "ui/tool/control-point-selection.h" #include "ui/tool/curve-drag-point.h" #include "ui/tool/event-utils.h" #include "ui/tool/multi-path-manipulator.h" -#include "xml/node.h" #include "xml/node-observer.h" namespace Inkscape { @@ -1497,11 +1484,14 @@ void PathManipulator::_setGeometry() } } else { if (empty()) return; - //XML Tree being used here directly while it shouldn't be. - if (_path->getRepr()->attribute("inkscape:original-d")) - _path->set_original_curve(_spcurve, false, false); - else + if (SPCurve * original = _path->get_original_curve()){ + if(!_spcurve->is_equal(original)) { + _path->set_original_curve(_spcurve, false, false); + delete original; + } + } else if(!_spcurve->is_equal(_path->get_curve())) { _path->setCurve(_spcurve, false); + } } } |
