summaryrefslogtreecommitdiffstats
path: root/src/live_effects/parameter/powerstrokepointarray.cpp
diff options
context:
space:
mode:
authorLiam P. White <inkscapebronyat-signgmaildotcom>2014-07-08 02:11:55 +0000
committerLiam P. White <inkscapebronyat-signgmaildotcom>2014-07-08 02:11:55 +0000
commitd4ca4b1bcfbfb921b3c615d1e39405ae1afc9b40 (patch)
treed70a6dc017b94724e7ccecec211e566794ff6e9d /src/live_effects/parameter/powerstrokepointarray.cpp
parentAllow basic editing capabilites if share directory is missing (diff)
downloadinkscape-d4ca4b1bcfbfb921b3c615d1e39405ae1afc9b40.tar.gz
inkscape-d4ca4b1bcfbfb921b3c615d1e39405ae1afc9b40.zip
Bugged powerstroke point array tried accessing points on a quickly diverging path
Fixed bugs: - https://launchpad.net/bugs/1333465 (bzr r13341.1.86)
Diffstat (limited to 'src/live_effects/parameter/powerstrokepointarray.cpp')
-rw-r--r--src/live_effects/parameter/powerstrokepointarray.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/live_effects/parameter/powerstrokepointarray.cpp b/src/live_effects/parameter/powerstrokepointarray.cpp
index fecdfeda8..647986da6 100644
--- a/src/live_effects/parameter/powerstrokepointarray.cpp
+++ b/src/live_effects/parameter/powerstrokepointarray.cpp
@@ -176,7 +176,10 @@ PowerStrokePointArrayParamKnotHolderEntity::knot_get() const
Piecewise<D2<SBasis> > const & n = _pparam->get_pwd2_normal();
Point offset_point = _pparam->_vector.at(_index);
-
+ if (offset_point[X] > pwd2.size() || offset_point[X] < 0) {
+ g_warning("Broken powerstroke point at %f, I won't try to add that", offset_point[X]);
+ return Geom::Point(infinity(), infinity());
+ }
Point canvas_point = pwd2.valueAt(offset_point[X]) + offset_point[Y] * n.valueAt(offset_point[X]);
return canvas_point;
}