浏览代码

Merge pull request #18144 from Crazy-P/Resolves-crash-on-shape2D-culling-for-empty-Concave-shapes

Resolves crash on shape2D culling for empty Concave shapes
Juan Linietsky 7 年之前
父节点
当前提交
4897373015
共有 2 个文件被更改,包括 5 次插入0 次删除
  1. 4 0
      servers/physics_2d/shape_2d_sw.cpp
  2. 1 0
      servers/physics_2d/space_2d_sw.cpp

+ 4 - 0
servers/physics_2d/shape_2d_sw.cpp

@@ -1011,6 +1011,10 @@ void ConcavePolygonShape2DSW::cull(const Rect2 &p_local_aabb, Callback p_callbac
 		stack[i]=0;
 	*/
 
+	if (segments.size() == 0 || points.size() == 0 || bvh.size() == 0) {
+		return;
+	}
+
 	int level = 0;
 
 	const Segment *segmentptr = &segments[0];

+ 1 - 0
servers/physics_2d/space_2d_sw.cpp

@@ -33,6 +33,7 @@
 #include "collision_solver_2d_sw.h"
 #include "pair.h"
 #include "physics_2d_server_sw.h"
+
 _FORCE_INLINE_ static bool _can_collide_with(CollisionObject2DSW *p_object, uint32_t p_collision_mask) {
 
 	return p_object->get_collision_layer() & p_collision_mask;