summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGellule Xg <gellule.xg@gmail.com>2012-01-13 18:55:51 +0000
committerGellule Xg <gellule.xg@gmail.com>2012-01-13 18:55:51 +0000
commitbd81940434e5de391ffe9c719b5d2fed7afecd77 (patch)
tree32d895afeaf23cd5c62f2ee63daefd1ac57cf4f6 /src
parentAdding expression calculator in Clone Tiler (see Bug #773636). Patch by Romain. (diff)
downloadinkscape-bd81940434e5de391ffe9c719b5d2fed7afecd77.tar.gz
inkscape-bd81940434e5de391ffe9c719b5d2fed7afecd77.zip
2geom: Fixed an infinite loop where 2geom was trying to find the roots of an identically zero bezier.
Fixed bugs: - https://launchpad.net/bugs/916171 (bzr r10880)
Diffstat (limited to 'src')
-rw-r--r--src/2geom/solve-bezier.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/2geom/solve-bezier.cpp b/src/2geom/solve-bezier.cpp
index b7c01b1f7..0a9f0e310 100644
--- a/src/2geom/solve-bezier.cpp
+++ b/src/2geom/solve-bezier.cpp
@@ -142,6 +142,10 @@ Bezier::find_bezier_roots(std::vector<double> &solutions,
//convex_hull_marching(bz, bz, solutions, left_t, right_t);
//return;
+ //A constant bezier, even if identically zero, has no roots
+ if (bz.isConstant())
+ return;
+
while(bz[0] == 0) {
debug(std::cout << "deflate\n");
bz = bz.deflate();