summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/path-manipulator.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2014-01-09 16:46:40 +0000
committerJabiertxof <jtx@jtx.marker.es>2014-01-09 16:46:40 +0000
commit0b15b05d641661e6b1d5cb73520c7cdead1cfc89 (patch)
tree9e6b346f78c3df0398ae333a1594b62154727210 /src/ui/tool/path-manipulator.cpp
parentupdate to trunk (diff)
downloadinkscape-0b15b05d641661e6b1d5cb73520c7cdead1cfc89.tar.gz
inkscape-0b15b05d641661e6b1d5cb73520c7cdead1cfc89.zip
Fix a bug whith oposite handles on node move,and a little cleanup
(bzr r11950.1.232)
Diffstat (limited to 'src/ui/tool/path-manipulator.cpp')
-rw-r--r--src/ui/tool/path-manipulator.cpp7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp
index cda8374c5..8a0568fbd 100644
--- a/src/ui/tool/path-manipulator.cpp
+++ b/src/ui/tool/path-manipulator.cpp
@@ -1225,6 +1225,7 @@ double PathManipulator::BSplineHandlePosition(Handle *h){
lineInsideNodes->lineto(nextNode->position());
pos = Geom::nearest_point(h->position(),*lineInsideNodes->first_segment());
}
+ n->bsplineWeight = pos;
return pos;
}
@@ -1265,17 +1266,11 @@ void PathManipulator::BSplineNodeHandlesReposition(Node *n){
Node * nextNode = n->nodeToward(n->front());
Node * prevNode = n->nodeToward(n->back());
if(prevNode){
- n->back()->setPosition(BSplineHandleReposition(n->back(),n->bsplineWeight));
- if(prevNode->front()->position() == prevNode->position())
- prevNode->bsplineWeight = 0.000;
if(!prevNode->isEndNode())
prevNode->back()->setPosition(BSplineHandleReposition(prevNode->back(),prevNode->bsplineWeight));
prevNode->front()->setPosition(BSplineHandleReposition(prevNode->front(),prevNode->bsplineWeight));
}
if(nextNode){
- n->front()->setPosition(BSplineHandleReposition(n->front(),n->bsplineWeight));
- if(nextNode->front()->position() == nextNode->position())
- nextNode->bsplineWeight = 0.000;
if(!nextNode->isEndNode())
nextNode->front()->setPosition(BSplineHandleReposition(nextNode->front(),nextNode->bsplineWeight));
nextNode->back()->setPosition(BSplineHandleReposition(nextNode->back(),nextNode->bsplineWeight));