Merge pull request #32896 from nekomatata/joint-reset-collision

Properly reset collision exception when releasing Joint2D
This commit is contained in:
Rémi Verschelde 2019-10-22 12:52:12 +02:00 committed by GitHub
commit bd23cce055
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 2 deletions

View File

@ -37,8 +37,8 @@
void Joint2D::_update_joint(bool p_only_free) {
if (joint.is_valid()) {
if (ba.is_valid() && bb.is_valid())
Physics2DServer::get_singleton()->body_remove_collision_exception(ba, bb);
if (ba.is_valid() && bb.is_valid() && exclude_from_collision)
Physics2DServer::get_singleton()->joint_disable_collisions_between_bodies(joint, false);
Physics2DServer::get_singleton()->free(joint);
joint = RID();
@ -131,6 +131,8 @@ void Joint2D::set_exclude_nodes_from_collision(bool p_enable) {
if (exclude_from_collision == p_enable)
return;
_update_joint(true);
exclude_from_collision = p_enable;
_update_joint();
}