diff options
-rw-r--r-- | src/primitives.cc | 6 | ||||
-rw-r--r-- | tests/regression/csgtermtest/allmodules-expected.term | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/primitives.cc b/src/primitives.cc index 89c1573..13a6794 100644 --- a/src/primitives.cc +++ b/src/primitives.cc @@ -513,8 +513,12 @@ sphere_next_r2: if (this->paths.toVector().size() == 0) { + if (dd.points.size() <= 2) { // Ignore malformed polygons + delete p; + return NULL; + } dd.paths.push_back(DxfData::Path()); - for (size_t i=0; i<this->points.toVector().size(); i++) { + for (size_t i=0; i<dd.points.size(); i++) { assert(i < dd.points.size()); // FIXME: Not needed, but this used to be an 'if' dd.paths.back().indices.push_back(i); } diff --git a/tests/regression/csgtermtest/allmodules-expected.term b/tests/regression/csgtermtest/allmodules-expected.term index b802c81..8b2f75f 100644 --- a/tests/regression/csgtermtest/allmodules-expected.term +++ b/tests/regression/csgtermtest/allmodules-expected.term @@ -1 +1 @@ -(((((((sphere12 + cube25) + sphere26) + cylinder27) + polyhedron28) + square29) + circle30) + polygon31) +((((((sphere12 + cube25) + sphere26) + cylinder27) + polyhedron28) + square29) + circle30) |