diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-10-29 12:01:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-29 12:01:01 +0100 |
commit | 0641acc576c138f592771c0cd3b0e7dc8212d1ae (patch) | |
tree | 51aab4e2dfd5ba8c49cd5e7ed25e6caee9a8544e /scene/3d | |
parent | f480d1c3b738d0f5be57fc35cc7f67743d5afa01 (diff) | |
parent | a245bab78d70cdcfd6651a9a973abbaadda4994c (diff) |
Merge pull request #33147 from mikkac/33135
Fixed disconnecting not connected signal
Diffstat (limited to 'scene/3d')
-rw-r--r-- | scene/3d/cpu_particles.cpp | 4 | ||||
-rw-r--r-- | scene/3d/soft_body.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/scene/3d/cpu_particles.cpp b/scene/3d/cpu_particles.cpp index 8766e30d0b..86daabefd2 100644 --- a/scene/3d/cpu_particles.cpp +++ b/scene/3d/cpu_particles.cpp @@ -1124,7 +1124,9 @@ void CPUParticles::_set_redraw(bool p_redraw) { VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, true); VS::get_singleton()->multimesh_set_visible_instances(multimesh, -1); } else { - VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); + if (VS::get_singleton()->is_connected("frame_pre_draw", this, "_update_render_thread")) { + VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); + } VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, false); VS::get_singleton()->multimesh_set_visible_instances(multimesh, 0); } diff --git a/scene/3d/soft_body.cpp b/scene/3d/soft_body.cpp index 6c3949a0a8..9bd89f1121 100644 --- a/scene/3d/soft_body.cpp +++ b/scene/3d/soft_body.cpp @@ -460,7 +460,9 @@ void SoftBody::update_physics_server() { } else { PhysicsServer::get_singleton()->soft_body_set_mesh(physics_rid, NULL); - VS::get_singleton()->disconnect("frame_pre_draw", this, "_draw_soft_mesh"); + if (VS::get_singleton()->is_connected("frame_pre_draw", this, "_draw_soft_mesh")) { + VS::get_singleton()->disconnect("frame_pre_draw", this, "_draw_soft_mesh"); + } } } |