summaryrefslogtreecommitdiffstats
path: root/src/ui/tools/pen-tool.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2014-09-15 23:07:32 +0000
committerJabiertxof <jtx@jtx.marker.es>2014-09-15 23:07:32 +0000
commit0403ae2f0f76e56b31e369160648968671324d13 (patch)
treeb05668939f7461bca6f65c44177d986e6403386a /src/ui/tools/pen-tool.cpp
parentRoughen LPE: cleanup, improvements in code -loop part thanks Nathan-, credits... (diff)
downloadinkscape-0403ae2f0f76e56b31e369160648968671324d13.tar.gz
inkscape-0403ae2f0f76e56b31e369160648968671324d13.zip
fixing cusp node bug on bspline -problems moving nodes because tiny handles
(bzr r13341.1.209)
Diffstat (limited to 'src/ui/tools/pen-tool.cpp')
-rw-r--r--src/ui/tools/pen-tool.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ui/tools/pen-tool.cpp b/src/ui/tools/pen-tool.cpp
index 318591df5..b68231e10 100644
--- a/src/ui/tools/pen-tool.cpp
+++ b/src/ui/tools/pen-tool.cpp
@@ -1586,6 +1586,9 @@ void PenTool::_bspline_spiro_motion(bool shift){
if(this->green_curve->is_empty() && !this->sa){
this->p[1] = this->p[0] + (1./3)*(this->p[3] - this->p[0]);
this->p[1] = Geom::Point(this->p[1][X] + handleCubicGap,this->p[1][Y] + handleCubicGap);
+ if(shift){
+ this->p[2] = this->p[3];
+ }
}else if(!this->green_curve->is_empty()){
tmpCurve = this->green_curve->copy();
}else{
@@ -1609,8 +1612,11 @@ void PenTool::_bspline_spiro_motion(bool shift){
SBasisWPower = WPower->first_segment()->toSBasis();
WPower->reset();
this->p[1] = SBasisWPower.valueAt(WP);
- if(!Geom::are_near(this->p[1],this->p[0]))
+ if(!Geom::are_near(this->p[1],this->p[0])){
this->p[1] = Geom::Point(this->p[1][X] + handleCubicGap,this->p[1][Y] + handleCubicGap);
+ } else {
+ this->p[1] = this->p[0];
+ }
if(shift)
this->p[2] = this->p[3];
}else{