diff options
author | Robert Adams | 2013-01-31 15:52:50 -0800 |
---|---|---|
committer | Robert Adams | 2013-01-31 15:56:10 -0800 |
commit | 75a05c16c5c0ec0712f7f564b60530e0a3fd1c82 (patch) | |
tree | fc6700bc9c7b6e04ea0e6615b57b04ffc1fcb2cd /OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | |
parent | BulletSim: make sure vehicle physical properties are set when going (diff) | |
download | opensim-SC_OLD-75a05c16c5c0ec0712f7f564b60530e0a3fd1c82.zip opensim-SC_OLD-75a05c16c5c0ec0712f7f564b60530e0a3fd1c82.tar.gz opensim-SC_OLD-75a05c16c5c0ec0712f7f564b60530e0a3fd1c82.tar.bz2 opensim-SC_OLD-75a05c16c5c0ec0712f7f564b60530e0a3fd1c82.tar.xz |
BulletSim: fix crash caused when linksets were rebuilt. A problem added
when individual child pos/rot changes were implementated a week or so ago.
Remove some passing of inTaintTime flag when it was never false.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 0b81122..54bf063 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | |||
@@ -146,9 +146,9 @@ public sealed class BSPrim : BSPhysObject | |||
146 | { | 146 | { |
147 | DetailLog("{0},BSPrim.Destroy,taint,", LocalID); | 147 | DetailLog("{0},BSPrim.Destroy,taint,", LocalID); |
148 | // If there are physical body and shape, release my use of same. | 148 | // If there are physical body and shape, release my use of same. |
149 | PhysicsScene.Shapes.DereferenceBody(PhysBody, true, null); | 149 | PhysicsScene.Shapes.DereferenceBody(PhysBody, null); |
150 | PhysBody.Clear(); | 150 | PhysBody.Clear(); |
151 | PhysicsScene.Shapes.DereferenceShape(PhysShape, true, null); | 151 | PhysicsScene.Shapes.DereferenceShape(PhysShape, null); |
152 | PhysShape.Clear(); | 152 | PhysShape.Clear(); |
153 | }); | 153 | }); |
154 | } | 154 | } |
@@ -181,11 +181,19 @@ public sealed class BSPrim : BSPhysObject | |||
181 | 181 | ||
182 | public override bool ForceBodyShapeRebuild(bool inTaintTime) | 182 | public override bool ForceBodyShapeRebuild(bool inTaintTime) |
183 | { | 183 | { |
184 | PhysicsScene.TaintedObject(inTaintTime, "BSPrim.ForceBodyShapeRebuild", delegate() | 184 | if (inTaintTime) |
185 | { | 185 | { |
186 | _mass = CalculateMass(); // changing the shape changes the mass | 186 | _mass = CalculateMass(); // changing the shape changes the mass |
187 | CreateGeomAndObject(true); | 187 | CreateGeomAndObject(true); |
188 | }); | 188 | } |
189 | else | ||
190 | { | ||
191 | PhysicsScene.TaintedObject("BSPrim.ForceBodyShapeRebuild", delegate() | ||
192 | { | ||
193 | _mass = CalculateMass(); // changing the shape changes the mass | ||
194 | CreateGeomAndObject(true); | ||
195 | }); | ||
196 | } | ||
189 | return true; | 197 | return true; |
190 | } | 198 | } |
191 | public override bool Grabbed { | 199 | public override bool Grabbed { |