Browse Source

Fix STL to Godot type convertion of polypartition

(cherry picked from commit d16bef8b55e6c978da44ea3c4b0822340e15027c)
Haoyu Qiu 4 years ago
parent
commit
cf47129f9a
1 changed files with 3 additions and 3 deletions
  1. 3 3
      thirdparty/misc/triangulator.cpp

+ 3 - 3
thirdparty/misc/triangulator.cpp

@@ -1166,7 +1166,7 @@ int TriangulatorPartition::MonotonePartition(List<TriangulatorPoly> *inpolys, Li
 				newedge.p1 = v->p;
 				newedge.p1 = v->p;
 				newedge.p2 = v->p;
 				newedge.p2 = v->p;
 				edgeIter = edgeTree.lower_bound(newedge);
 				edgeIter = edgeTree.lower_bound(newedge);
-				if(edgeIter == edgeTree.front()) {
+				if(edgeIter == nullptr || edgeIter == edgeTree.front()) {
 					error = true;
 					error = true;
 					break;
 					break;
 				}
 				}
@@ -1202,7 +1202,7 @@ int TriangulatorPartition::MonotonePartition(List<TriangulatorPoly> *inpolys, Li
 				newedge.p1 = v->p;
 				newedge.p1 = v->p;
 				newedge.p2 = v->p;
 				newedge.p2 = v->p;
 				edgeIter = edgeTree.lower_bound(newedge);
 				edgeIter = edgeTree.lower_bound(newedge);
-				if(edgeIter == edgeTree.front()) {
+				if(edgeIter == nullptr || edgeIter == edgeTree.front()) {
 					error = true;
 					error = true;
 					break;
 					break;
 				}
 				}
@@ -1241,7 +1241,7 @@ int TriangulatorPartition::MonotonePartition(List<TriangulatorPoly> *inpolys, Li
 					newedge.p1 = v->p;
 					newedge.p1 = v->p;
 					newedge.p2 = v->p;
 					newedge.p2 = v->p;
 					edgeIter = edgeTree.lower_bound(newedge);
 					edgeIter = edgeTree.lower_bound(newedge);
-					if(edgeIter == edgeTree.front()) {
+					if(edgeIter == nullptr || edgeIter == edgeTree.front()) {
 						error = true;
 						error = true;
 						break;
 						break;
 					}
 					}