diff options
author | PouleyKetchoupp <pouleyketchoup@gmail.com> | 2021-10-20 18:59:17 -0700 |
---|---|---|
committer | PouleyKetchoupp <pouleyketchoup@gmail.com> | 2021-10-21 08:56:12 -0700 |
commit | e6f7235ffb49e94a876756a9295b907ce7fc834a (patch) | |
tree | a9440fe98642e894b0f045ba4f42acc1ebc781b8 /modules | |
parent | fad7034e8b8275ce89424185c6ccee4de6aebd7f (diff) | |
download | redot-engine-e6f7235ffb49e94a876756a9295b907ce7fc834a.tar.gz |
Fix SoftDynamicBody3D crash when setting disable mode
Proper logic for changing physics state when disabled and disabled mode
is changed (it was unnecessarily making calls to re-initialize physics).
Extra error handling in soft body implementations to avoid crashes with
invalid mesh.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/bullet/soft_body_bullet.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/modules/bullet/soft_body_bullet.cpp b/modules/bullet/soft_body_bullet.cpp index 81b832fb42..3a2370ff31 100644 --- a/modules/bullet/soft_body_bullet.cpp +++ b/modules/bullet/soft_body_bullet.cpp @@ -116,6 +116,7 @@ void SoftBodyBullet::set_soft_mesh(RID p_mesh) { } Array arrays = RenderingServer::get_singleton()->mesh_surface_get_arrays(soft_mesh, 0); + ERR_FAIL_COND(arrays.is_empty()); bool success = set_trimesh_body_shape(arrays[RS::ARRAY_INDEX], arrays[RS::ARRAY_VERTEX]); if (!success) { |