浏览代码

Merge pull request #46124 from angad-k/cpu-particles-3d-fix

CPUParticles3D crash fix
Rémi Verschelde 4 年之前
父节点
当前提交
f91c4c0899
共有 2 个文件被更改,包括 3 次插入0 次删除
  1. 2 0
      scene/3d/cpu_particles_3d.cpp
  2. 1 0
      scene/3d/cpu_particles_3d.h

+ 2 - 0
scene/3d/cpu_particles_3d.cpp

@@ -152,6 +152,7 @@ float CPUParticles3D::get_speed_scale() const {
 }
 
 void CPUParticles3D::set_draw_order(DrawOrder p_order) {
+	ERR_FAIL_INDEX(p_order, DRAW_ORDER_MAX);
 	draw_order = p_order;
 }
 
@@ -1011,6 +1012,7 @@ void CPUParticles3D::_update_particle_data_buffer() {
 			sorter.compare.particles = r;
 			sorter.sort(order, pc);
 		} else if (draw_order == DRAW_ORDER_VIEW_DEPTH) {
+			ERR_FAIL_NULL(get_viewport());
 			Camera3D *c = get_viewport()->get_camera();
 			if (c) {
 				Vector3 dir = c->get_global_transform().basis.get_axis(2); //far away to close

+ 1 - 0
scene/3d/cpu_particles_3d.h

@@ -43,6 +43,7 @@ public:
 		DRAW_ORDER_INDEX,
 		DRAW_ORDER_LIFETIME,
 		DRAW_ORDER_VIEW_DEPTH,
+		DRAW_ORDER_MAX
 	};
 
 	enum Parameter {