diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2014-01-09 16:46:40 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2014-01-09 16:46:40 +0000 |
| commit | 0b15b05d641661e6b1d5cb73520c7cdead1cfc89 (patch) | |
| tree | 9e6b346f78c3df0398ae333a1594b62154727210 /src/ui/tool/path-manipulator.cpp | |
| parent | update to trunk (diff) | |
| download | inkscape-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.cpp | 7 |
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)); |
