summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-10-21 19:33:01 +0200
committerGitHub <noreply@github.com>2021-10-21 19:33:01 +0200
commit836f86688fc5e94b0e7028c0641f088a68d98386 (patch)
treed16513379662a3c525c0d71010f358d1d67fdb29 /scene
parent0264efe895c1e708e661dfe7a7959114b34e32cb (diff)
parente6f7235ffb49e94a876756a9295b907ce7fc834a (diff)
Merge pull request #54053 from nekomatata/fix-soft-body-disable-mode
Fix SoftDynamicBody3D crash when setting disable mode
Diffstat (limited to 'scene')
-rw-r--r--scene/3d/soft_dynamic_body_3d.cpp8
1 files changed, 1 insertions, 7 deletions
diff --git a/scene/3d/soft_dynamic_body_3d.cpp b/scene/3d/soft_dynamic_body_3d.cpp
index 43292d42f1..903eedb58b 100644
--- a/scene/3d/soft_dynamic_body_3d.cpp
+++ b/scene/3d/soft_dynamic_body_3d.cpp
@@ -552,15 +552,9 @@ void SoftDynamicBody3D::set_disable_mode(DisableMode p_mode) {
return;
}
- bool inside_tree = is_inside_tree();
-
- if (inside_tree && (disable_mode == DISABLE_MODE_REMOVE)) {
- _prepare_physics_server();
- }
-
disable_mode = p_mode;
- if (inside_tree && (disable_mode == DISABLE_MODE_REMOVE)) {
+ if (mesh.is_valid() && is_inside_tree() && !is_enabled()) {
_prepare_physics_server();
}
}