summaryrefslogtreecommitdiffstats
path: root/src/live_effects/parameter/powerstrokepointarray.cpp
diff options
context:
space:
mode:
authorLiam P. White <inkscapebronyat-signgmaildotcom>2014-07-08 02:10:45 +0000
committerLiam P. White <inkscapebronyat-signgmaildotcom>2014-07-08 02:10:45 +0000
commit88e1060e6c6ebcd0ede7cc2841b899d84072aaa0 (patch)
tree2978ea5d9d061051fd5cf0def29b2718837ad035 /src/live_effects/parameter/powerstrokepointarray.cpp
parentFix regression that prevented snapping back to original location, caused by r... (diff)
downloadinkscape-88e1060e6c6ebcd0ede7cc2841b899d84072aaa0.tar.gz
inkscape-88e1060e6c6ebcd0ede7cc2841b899d84072aaa0.zip
Bugged powerstroke point array tried accessing points on a quickly diverging path
Fixed bugs: - https://launchpad.net/bugs/1333465 (bzr r13447)
Diffstat (limited to '')
-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;
}