aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
index 085d195..47ab842 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
@@ -242,7 +242,7 @@ public sealed class BSLinksetCompound : BSLinkset
242 { 242 {
243 bool ret = false; 243 bool ret = false;
244 244
245 DetailLog("{0},BSLinksetCompound.RemoveBodyDependencies,refreshIfChild,rID={1},rBody={2},isRoot={3}", 245 DetailLog("{0},BSLinksetCompound.RemoveDependencies,refreshIfChild,rID={1},rBody={2},isRoot={3}",
246 child.LocalID, LinksetRoot.LocalID, LinksetRoot.PhysBody, IsRoot(child)); 246 child.LocalID, LinksetRoot.LocalID, LinksetRoot.PhysBody, IsRoot(child));
247 247
248 ScheduleRebuild(child); 248 ScheduleRebuild(child);
@@ -270,7 +270,7 @@ public sealed class BSLinksetCompound : BSLinkset
270 270
271 // Remove the specified child from the linkset. 271 // Remove the specified child from the linkset.
272 // Safe to call even if the child is not really in the linkset. 272 // Safe to call even if the child is not really in the linkset.
273 protected override void RemoveChildFromLinkset(BSPrimLinkable child) 273 protected override void RemoveChildFromLinkset(BSPrimLinkable child, bool inTaintTime)
274 { 274 {
275 child.ClearDisplacement(); 275 child.ClearDisplacement();
276 276
@@ -282,12 +282,12 @@ public sealed class BSLinksetCompound : BSLinkset
282 child.LocalID, child.PhysBody.AddrString); 282 child.LocalID, child.PhysBody.AddrString);
283 283
284 // Cause the child's body to be rebuilt and thus restored to normal operation 284 // Cause the child's body to be rebuilt and thus restored to normal operation
285 child.ForceBodyShapeRebuild(false); 285 child.ForceBodyShapeRebuild(inTaintTime);
286 286
287 if (!HasAnyChildren) 287 if (!HasAnyChildren)
288 { 288 {
289 // The linkset is now empty. The root needs rebuilding. 289 // The linkset is now empty. The root needs rebuilding.
290 LinksetRoot.ForceBodyShapeRebuild(false); 290 LinksetRoot.ForceBodyShapeRebuild(inTaintTime);
291 } 291 }
292 else 292 else
293 { 293 {
@@ -318,10 +318,10 @@ public sealed class BSLinksetCompound : BSLinkset
318 // being destructed and going non-physical. 318 // being destructed and going non-physical.
319 LinksetRoot.ForceBodyShapeRebuild(true); 319 LinksetRoot.ForceBodyShapeRebuild(true);
320 320
321 // There is no reason to build all this physical stuff for a non-physical linkset. 321 // There is no reason to build all this physical stuff for a non-physical or empty linkset.
322 if (!LinksetRoot.IsPhysicallyActive) 322 if (!LinksetRoot.IsPhysicallyActive || !HasAnyChildren)
323 { 323 {
324 DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,notPhysical", LinksetRoot.LocalID); 324 DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,notPhysicalOrNoChildren", LinksetRoot.LocalID);
325 return; // Note the 'finally' clause at the botton which will get executed. 325 return; // Note the 'finally' clause at the botton which will get executed.
326 } 326 }
327 327