Browse Source

Merge pull request #47679 from madmiraal/fix-47436.1-3.x

[3.x] Check for empty ConcavePolygonShape2D before checking for intersection
Rémi Verschelde 4 years ago
parent
commit
bd9ee18fb1
1 changed files with 3 additions and 0 deletions
  1. 3 0
      servers/physics_2d/shape_2d_sw.cpp

+ 3 - 0
servers/physics_2d/shape_2d_sw.cpp

@@ -744,6 +744,9 @@ bool ConcavePolygonShape2DSW::contains_point(const Vector2 &p_point) const {
 
 
 bool ConcavePolygonShape2DSW::intersect_segment(const Vector2 &p_begin, const Vector2 &p_end, Vector2 &r_point, Vector2 &r_normal) const {
 bool ConcavePolygonShape2DSW::intersect_segment(const Vector2 &p_begin, const Vector2 &p_end, Vector2 &r_point, Vector2 &r_normal) const {
 
 
+	if (segments.size() == 0 || points.size() == 0)
+		return false;
+
 	uint32_t *stack = (uint32_t *)alloca(sizeof(int) * bvh_depth);
 	uint32_t *stack = (uint32_t *)alloca(sizeof(int) * bvh_depth);
 
 
 	enum {
 	enum {