summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/node.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2013-02-25 10:10:49 +0000
committerJabiertxo Arraiza Zenotz <jtx@jtx.marker.es>2013-02-25 10:10:49 +0000
commita35bf765ecadaf37dea9f9230f5a41211f07980d (patch)
treeab5ffd2055389a57984c8e7baf23c1df411f25b2 /src/ui/tool/node.cpp
parentBSpline refactor (diff)
parentRefactor problem cusp nodes (diff)
downloadinkscape-a35bf765ecadaf37dea9f9230f5a41211f07980d.tar.gz
inkscape-a35bf765ecadaf37dea9f9230f5a41211f07980d.zip
BSpline refactor
(bzr r11950.1.39)
Diffstat (limited to 'src/ui/tool/node.cpp')
-rw-r--r--src/ui/tool/node.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/ui/tool/node.cpp b/src/ui/tool/node.cpp
index 6dc6c7528..fef904006 100644
--- a/src/ui/tool/node.cpp
+++ b/src/ui/tool/node.cpp
@@ -138,8 +138,7 @@ void Handle::move(Geom::Point const &new_pos)
//BSpline
bool isBSpline = false;
double pos = 0;
- Handle *h = NULL;
- Handle *h2 = NULL;
+ Handle *h = this;
if(_pm().isBSpline()){
isBSpline = true;
_parent->_selection.insert(_parent);
@@ -178,11 +177,12 @@ void Handle::move(Geom::Point const &new_pos)
setPosition(new_pos);
//BSpline
if(isBSpline){
- h = this;
setPosition(_pm().BSplineHandleReposition(h));
pos = _pm().BSplineHandlePosition(h);
- h2 = this->other();
- this->other()->setPosition(_pm().BSplineHandleReposition(h2,pos));
+ other->setPosition(_pm().BSplineHandleReposition(other,pos));
+ if(pos == 0){
+ _parent->setPosition(h->position());
+ }
}
//BSpline End
return;
@@ -217,11 +217,12 @@ void Handle::move(Geom::Point const &new_pos)
setPosition(new_pos);
//BSpline
if(isBSpline){
- h = this;
setPosition(_pm().BSplineHandleReposition(h));
pos = _pm().BSplineHandlePosition(h);
- h2 = this->other();
- this->other()->setPosition(_pm().BSplineHandleReposition(h2,pos));
+ other->setPosition(_pm().BSplineHandleReposition(other,pos));
+ if(pos == 0){
+ _parent->setPosition(h->position());
+ }
}
//BSpline End
}