[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37026] trunk/blender/source/gameengine/ Converter/BL_BlenderDataConversion.cpp: BGE: fix bug #26775, crash when physics constraint is defined on non-active objects.

Benoit Bolsee benoit.bolsee at online.be
Mon May 30 17:40:01 CEST 2011


Revision: 37026
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37026
Author:   ben2610
Date:     2011-05-30 15:40:01 +0000 (Mon, 30 May 2011)
Log Message:
-----------
BGE: fix bug #26775, crash when physics constraint is defined on non-active objects. Patch provided by Sergey Sharybin, verified and applied.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp

Modified: trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2011-05-30 14:55:35 UTC (rev 37025)
+++ trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2011-05-30 15:40:01 UTC (rev 37026)
@@ -2608,6 +2608,9 @@
 		bConstraint *curcon;
 		conlist = get_active_constraints2(blenderobject);
 
+		if((gameobj->GetLayer()&activeLayerBitInfo)==0)
+			continue;
+
 		if (conlist) {
 			for (curcon = (bConstraint *)conlist->first; curcon; curcon=(bConstraint *)curcon->next) {
 				if (curcon->type==CONSTRAINT_TYPE_RIGIDBODYJOINT){
@@ -2621,7 +2624,7 @@
 						if (dat->tar)
 						{
 							KX_GameObject *gotar=getGameOb(dat->tar->id.name+2,sumolist);
-							if (gotar && gotar->GetPhysicsController())
+							if (gotar && ((gotar->GetLayer()&activeLayerBitInfo)!=0) && gotar->GetPhysicsController())
 								physctr2 = (PHY_IPhysicsController*) gotar->GetPhysicsController()->GetUserData();
 						}
 




More information about the Bf-blender-cvs mailing list