Merge pull request #34225 from madmiraal/fix-34210

Add check for zero length motion at beginning of each sweep test loop in SpaceBullet::test_body_motion
This commit is contained in:
Rémi Verschelde 2020-01-11 11:57:41 +01:00 committed by GitHub
commit 0b185278f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -945,7 +945,7 @@ bool SpaceBullet::test_body_motion(RigidBodyBullet *p_body, const Transform &p_f
btVector3 motion;
G_TO_B(p_motion, motion);
if (!motion.fuzzyZero()) {
{
// Phase two - sweep test, from a secure position without margin
const int shape_count(p_body->get_shape_count());
@ -960,7 +960,7 @@ bool SpaceBullet::test_body_motion(RigidBodyBullet *p_body, const Transform &p_f
motionVec->end();
#endif
for (int shIndex = 0; shIndex < shape_count; ++shIndex) {
for (int shIndex = 0; shIndex < shape_count && !motion.fuzzyZero(); ++shIndex) {
if (p_body->is_shape_disabled(shIndex)) {
continue;
}