[Bf-blender-cvs] [65c3207] master: BGE: Fix T44782 suspend/restore dynamics on inactive object.

Porteries Tristan noreply at git.blender.org
Sun Aug 9 20:29:56 CEST 2015


Commit: 65c320751714a6d4835c0256f6cadcdc60d095db
Author: Porteries Tristan
Date:   Sat Aug 8 21:54:08 2015 +0200
Branches: master
https://developer.blender.org/rB65c320751714a6d4835c0256f6cadcdc60d095db

BGE: Fix T44782 suspend/restore dynamics on inactive object.

===================================================================

M	source/gameengine/Physics/Bullet/CcdPhysicsController.cpp

===================================================================

diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
index 8ecb586..a485804 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
@@ -1080,7 +1080,7 @@ void CcdPhysicsController::RefreshCollisions()
 void	CcdPhysicsController::SuspendDynamics(bool ghost)
 {
 	btRigidBody *body = GetRigidBody();
-	if (body && !m_suspended && !GetConstructionInfo().m_bSensor)
+	if (body && !m_suspended && !GetConstructionInfo().m_bSensor && GetPhysicsEnvironment()->IsActiveCcdPhysicsController(this))
 	{
 		btBroadphaseProxy* handle = body->getBroadphaseHandle();
 
@@ -1102,7 +1102,7 @@ void	CcdPhysicsController::SuspendDynamics(bool ghost)
 void	CcdPhysicsController::RestoreDynamics()
 {
 	btRigidBody *body = GetRigidBody();
-	if (body && m_suspended)
+	if (body && m_suspended && GetPhysicsEnvironment()->IsActiveCcdPhysicsController(this))
 	{
 		// before make sure any position change that was done in this logic frame are accounted for
 		SetTransform();




More information about the Bf-blender-cvs mailing list