diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2014-01-02 15:15:27 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2014-01-02 15:15:27 +0000 |
| commit | c08c28e9a22f0fe5f06e9dc34430c3acb16f3c13 (patch) | |
| tree | dc64d1ef21b86f0907a254f89391f5b4aa1860ba /src/ui/tool/path-manipulator.cpp | |
| parent | fix a bug whith degenerate handles (diff) | |
| download | inkscape-c08c28e9a22f0fe5f06e9dc34430c3acb16f3c13.tar.gz inkscape-c08c28e9a22f0fe5f06e9dc34430c3acb16f3c13.zip | |
Fixed a boring bug sometimes curves be converted to lines, increasing a bit the distance from the handle to the line
(bzr r11950.1.230)
Diffstat (limited to 'src/ui/tool/path-manipulator.cpp')
| -rw-r--r-- | src/ui/tool/path-manipulator.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp index e70717728..cda8374c5 100644 --- a/src/ui/tool/path-manipulator.cpp +++ b/src/ui/tool/path-manipulator.cpp @@ -1219,13 +1219,11 @@ double PathManipulator::BSplineHandlePosition(Handle *h){ Node *n = h->parent(); Node * nextNode = NULL; nextNode = n->nodeToward(h); - Geom::Point positionH = h->position(); - positionH = Geom::Point(positionH[X] + 0.0001,positionH[Y] + 0.0001); if(nextNode && n->position() != h->position()){ SPCurve *lineInsideNodes = new SPCurve(); lineInsideNodes->moveto(n->position()); lineInsideNodes->lineto(nextNode->position()); - pos = Geom::nearest_point(positionH,*lineInsideNodes->first_segment()); + pos = Geom::nearest_point(h->position(),*lineInsideNodes->first_segment()); } return pos; } @@ -1252,7 +1250,7 @@ Geom::Point PathManipulator::BSplineHandleReposition(Handle *h,double pos){ SBasisInsideNodes = lineInsideNodes->first_segment()->toSBasis(); n->bsplineWeight = pos; ret = SBasisInsideNodes.valueAt(pos); - ret = Geom::Point(ret[X] + 0.0001,ret[Y] + 0.0001); + ret = Geom::Point(ret[X] + 0.005,ret[Y] + 0.005); }else{ if(pos == 0.0000){ n->bsplineWeight = 0.0000; |
