summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-12-06 06:08:29 (GMT)
committerMarius Kintel <marius@kintel.net>2013-12-06 06:08:29 (GMT)
commit941b56e7f851f1cdb987224ec49310062d2400d3 (patch)
treeffad8bf0554463b3f2869ae697e86b18bce9840d /src
parentf2fe074e1d947f74e34833453cc613e46e5450a6 (diff)
parentede5c4b6882692dc28fc7017c4aeb87ec9222f8e (diff)
Merge branch 'master' of github.com:openscad/openscad
Diffstat (limited to 'src')
-rw-r--r--src/PolySetCGALEvaluator.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/PolySetCGALEvaluator.cc b/src/PolySetCGALEvaluator.cc
index bc9206f..599fd7f 100644
--- a/src/PolySetCGALEvaluator.cc
+++ b/src/PolySetCGALEvaluator.cc
@@ -457,7 +457,14 @@ PolySet *PolySetCGALEvaluator::rotateDxfData(const RotateExtrudeNode &node, DxfD
{
double max_x = 0;
for (size_t j = 0; j < dxf.paths[i].indices.size(); j++) {
- max_x = fmax(max_x, dxf.points[dxf.paths[i].indices[j]][0]);
+ double point_x = dxf.points[dxf.paths[i].indices[j]][0];
+ if (point_x < 0) {
+ PRINT("ERROR: all points for rotate_extrude() must have non-negative X coordinates");
+ PRINTB("[Point %d on path %d has X coordinate %f]", j % i % point_x);
+ delete ps;
+ return NULL;
+ }
+ max_x = fmax(max_x, point_x);
}
int fragments = get_fragments_from_r(max_x, node.fn, node.fs, node.fa);
contact: Jan Huwald // Impressum