summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLiam P. White <inkscapebronyat-signgmaildotcom>2014-04-20 17:05:53 +0000
committerLiam P. White <inkscapebronyat-signgmaildotcom>2014-04-20 17:05:53 +0000
commit3c99062c5bc3c28b9c2b05de0ee3e9c2725a55b6 (patch)
tree8cb73f7a0166738e84ebc30aad83d8102b963143 /src
parentminor bugfix (diff)
downloadinkscape-3c99062c5bc3c28b9c2b05de0ee3e9c2725a55b6.tar.gz
inkscape-3c99062c5bc3c28b9c2b05de0ee3e9c2725a55b6.zip
correcting previous revision
(bzr r13090.1.65)
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/lpe-taperstroke.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/live_effects/lpe-taperstroke.cpp b/src/live_effects/lpe-taperstroke.cpp
index 7aa896ade..8ddaa4087 100644
--- a/src/live_effects/lpe-taperstroke.cpp
+++ b/src/live_effects/lpe-taperstroke.cpp
@@ -213,12 +213,16 @@ Geom::PathVector LPETaperStroke::doEffect_path(Geom::PathVector const& path_in)
//if so, reset the end offset, but still allow the start offset.
if ( attach_start >= (size - attach_end) ) {
attach_end.param_set_value( size - attach_start );
+ metInMiddle = true;
}
}
if (attach_start == size - attach_end) {
metInMiddle = true;
}
+ if (attach_end == size - attach_start) {
+ metInMiddle = true;
+ }
//don't let it be integer
{
@@ -285,7 +289,7 @@ Geom::PathVector LPETaperStroke::doEffect_path(Geom::PathVector const& path_in)
//append the outside outline of the path (with direction)
throwaway_path = Outline::PathOutsideOutline(pathv_out[1],
-fabs(line_width), static_cast<LineJoinType>(join_type.get_value()), miter_limit);
- if (!zeroStart) {
+ if (!zeroStart && real_path.size() >= 1 && throwaway_path.size() >= 1) {
if (Geom::distance(real_path.finalPoint(), throwaway_path.initialPoint()) > 0.0000001) {
real_path.appendNew<Geom::LineSegment>(throwaway_path.initialPoint());
} else {
@@ -305,7 +309,7 @@ Geom::PathVector LPETaperStroke::doEffect_path(Geom::PathVector const& path_in)
pwd2.concat(stretch_along(pathv_out[2].toPwSb(), pat_vec[0], -fabs(line_width)));
throwaway_path = Geom::path_from_piecewise(pwd2, LPE_CONVERSION_TOLERANCE)[0];
- if (Geom::distance(real_path.finalPoint(), throwaway_path.initialPoint()) > 0.0000001) {
+ if (Geom::distance(real_path.finalPoint(), throwaway_path.initialPoint()) > 0.0000001 && real_path.size() >= 1) {
real_path.appendNew<Geom::LineSegment>(throwaway_path.initialPoint());
} else {
real_path.setFinal(throwaway_path.initialPoint());
@@ -318,7 +322,7 @@ Geom::PathVector LPETaperStroke::doEffect_path(Geom::PathVector const& path_in)
throwaway_path = Outline::PathOutsideOutline(pathv_out[1].reverse(),
-fabs(line_width), static_cast<LineJoinType>(join_type.get_value()), miter_limit);
- if (Geom::distance(real_path.finalPoint(), throwaway_path.initialPoint()) > 0.0000001) {
+ if (Geom::distance(real_path.finalPoint(), throwaway_path.initialPoint()) > 0.0000001 && real_path.size() >= 1) {
real_path.appendNew<Geom::LineSegment>(throwaway_path.initialPoint());
} else {
real_path.setFinal(throwaway_path.initialPoint());