diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-01-16 10:59:01 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2020-01-16 11:08:51 +0100 |
commit | 1de633205f232bf5f4f4b17e6087d8e4b8e4ebee (patch) | |
tree | 30ef344f179a4beb7b571d71791e4e9b39d7ae5f /scene/3d/cpu_particles.cpp | |
parent | 3af0400a32a2f81aad0b56940af0d6a92b6ffc92 (diff) | |
download | redot-engine-1de633205f232bf5f4f4b17e6087d8e4b8e4ebee.tar.gz |
Validate input in (CPU)Particles set_emission_shape()
Fixes #29777.
Co-authored-by: Cameron Reikes <cameronreikes@gmail.com>
Diffstat (limited to 'scene/3d/cpu_particles.cpp')
-rw-r--r-- | scene/3d/cpu_particles.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/3d/cpu_particles.cpp b/scene/3d/cpu_particles.cpp index 0ac424b09e..aa7a413548 100644 --- a/scene/3d/cpu_particles.cpp +++ b/scene/3d/cpu_particles.cpp @@ -405,7 +405,7 @@ bool CPUParticles::get_particle_flag(Flags p_flag) const { } void CPUParticles::set_emission_shape(EmissionShape p_shape) { - + ERR_FAIL_INDEX(p_shape, EMISSION_SHAPE_MAX); emission_shape = p_shape; } @@ -784,6 +784,9 @@ void CPUParticles::_particles_process(float p_delta) { p.base_color = emission_colors.get(random_idx); } } break; + case EMISSION_SHAPE_MAX: { // Max value for validity check. + break; + } } if (!local_coords) { @@ -1488,6 +1491,7 @@ void CPUParticles::_bind_methods() { BIND_ENUM_CONSTANT(EMISSION_SHAPE_BOX); BIND_ENUM_CONSTANT(EMISSION_SHAPE_POINTS); BIND_ENUM_CONSTANT(EMISSION_SHAPE_DIRECTED_POINTS); + BIND_ENUM_CONSTANT(EMISSION_SHAPE_MAX); } CPUParticles::CPUParticles() { |