aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs18
1 files changed, 13 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
index 6586099..582ba5b 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
@@ -106,13 +106,21 @@ public sealed class BSLinksetCompound : BSLinkset
106 // When rebuilding, it is possible to set properties that would normally require a rebuild. 106 // When rebuilding, it is possible to set properties that would normally require a rebuild.
107 // If already rebuilding, don't request another rebuild. 107 // If already rebuilding, don't request another rebuild.
108 // If a linkset with just a root prim (simple non-linked prim) don't bother rebuilding. 108 // If a linkset with just a root prim (simple non-linked prim) don't bother rebuilding.
109 if (!Rebuilding && HasAnyChildren) 109 lock (this)
110 { 110 {
111 m_physicsScene.PostTaintObject("BSLinksetCompound.ScheduleRebuild", LinksetRoot.LocalID, delegate() 111 if (!RebuildScheduled)
112 { 112 {
113 if (HasAnyChildren) 113 if (!Rebuilding && HasAnyChildren)
114 RecomputeLinksetCompound(); 114 {
115 }); 115 RebuildScheduled = true;
116 m_physicsScene.PostTaintObject("BSLinksetCompound.ScheduleRebuild", LinksetRoot.LocalID, delegate()
117 {
118 if (HasAnyChildren)
119 RecomputeLinksetCompound();
120 RebuildScheduled = false;
121 });
122 }
123 }
116 } 124 }
117 } 125 }
118 126