aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
diff options
context:
space:
mode:
authorRobert Adams2015-08-06 19:57:32 -0700
committerRobert Adams2015-08-06 19:57:32 -0700
commitf0417c5d506e5b562344515f6e68668360456d33 (patch)
treeb5197860eff12d5ce2a5cd20044896bf98d32a66 /OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
parentcreate osGetAvatarHomeURI (diff)
downloadopensim-SC_OLD-f0417c5d506e5b562344515f6e68668360456d33.zip
opensim-SC_OLD-f0417c5d506e5b562344515f6e68668360456d33.tar.gz
opensim-SC_OLD-f0417c5d506e5b562344515f6e68668360456d33.tar.bz2
opensim-SC_OLD-f0417c5d506e5b562344515f6e68668360456d33.tar.xz
BulletSim: rearrange code and add some tests to try and resolve the
initialization race conditions reported in Mantis 6792. When a region is initializing it seems that the prim initialization code can be interrupted part way through then taints are processed for prims that are not completely there.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs11
1 files changed, 6 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
index d20d094..b758408 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
@@ -83,11 +83,6 @@ public abstract class BSPhysObject : PhysicsActor
83 // The collection of things that push me around 83 // The collection of things that push me around
84 PhysicalActors = new BSActorCollection(PhysScene); 84 PhysicalActors = new BSActorCollection(PhysScene);
85 85
86 // Initialize variables kept in base.
87 GravModifier = 1.0f;
88 Gravity = new OMV.Vector3(0f, 0f, BSParam.Gravity);
89 HoverActive = false;
90
91 // We don't have any physical representation yet. 86 // We don't have any physical representation yet.
92 PhysBody = new BulletBody(localID); 87 PhysBody = new BulletBody(localID);
93 PhysShape = new BSShapeNull(); 88 PhysShape = new BSShapeNull();
@@ -96,6 +91,12 @@ public abstract class BSPhysObject : PhysicsActor
96 91
97 PrimAssetState = PrimAssetCondition.Unknown; 92 PrimAssetState = PrimAssetCondition.Unknown;
98 93
94 // Initialize variables kept in base.
95 // Beware that these cause taints to be queued whch can cause race conditions on startup.
96 GravModifier = 1.0f;
97 Gravity = new OMV.Vector3(0f, 0f, BSParam.Gravity);
98 HoverActive = false;
99
99 // Default material type. Also sets Friction, Restitution and Density. 100 // Default material type. Also sets Friction, Restitution and Density.
100 SetMaterial((int)MaterialAttributes.Material.Wood); 101 SetMaterial((int)MaterialAttributes.Material.Wood);
101 102