summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/path-manipulator.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2013-04-27 00:01:11 +0000
committerJabiertxo Arraiza Zenotz <jtx@jtx.marker.es>2013-04-27 00:01:11 +0000
commitbe4b46000a9a9f29d79b2e939c0669f6ddf0c59f (patch)
tree3566eaad8888913f5bbbdc4d00c21e31b4ffbe2d /src/ui/tool/path-manipulator.cpp
parentupdate icons (diff)
downloadinkscape-be4b46000a9a9f29d79b2e939c0669f6ddf0c59f.tar.gz
inkscape-be4b46000a9a9f29d79b2e939c0669f6ddf0c59f.zip
Fixed important selection bug when changing to cusp nodes
(bzr r11950.1.109)
Diffstat (limited to 'src/ui/tool/path-manipulator.cpp')
-rw-r--r--src/ui/tool/path-manipulator.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp
index 9da27e807..cad794860 100644
--- a/src/ui/tool/path-manipulator.cpp
+++ b/src/ui/tool/path-manipulator.cpp
@@ -1239,9 +1239,11 @@ Geom::Point PathManipulator::BSplineHandleReposition(Handle *h,double pos){
lineInsideNodes->moveto(n->position());
lineInsideNodes->lineto(nextNode->position());
SBasisInsideNodes = lineInsideNodes->first_segment()->toSBasis();
+ n->bsplineWeight = pos;
ret = SBasisInsideNodes.valueAt(pos);
ret = Geom::Point(ret[X] + 0.0001,ret[Y] + 0.0001);
}else{
+ n->bsplineWeight = 0.0000;
ret = n->position();
}
return ret;
@@ -1257,8 +1259,8 @@ void PathManipulator::BSplineNodeHandlesReposition(Node *n){
prevPos = BSplineHandlePosition(prevNode->front());
if(nextNode)
nextPos = BSplineHandlePosition(nextNode->back());
- n->front()->setPosition(BSplineHandleReposition(n->front(),n->bsplineWeight));
- n->back()->setPosition(BSplineHandleReposition(n->back(),n->bsplineWeight));
+ n->front()->setPosition(BSplineHandleReposition(n->front()));
+ n->back()->setPosition(BSplineHandleReposition(n->back()));
if(prevNode)
prevNode->front()->setPosition(BSplineHandleReposition(prevNode->front(),prevPos));
if(nextNode)