aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs7
2 files changed, 14 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 6ff5364..17f02c2 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1486,7 +1486,15 @@ namespace OpenSim.Region.Framework.Scenes
1486 avatar.StandUp(); 1486 avatar.StandUp();
1487 1487
1488 if (!silent) 1488 if (!silent)
1489 {
1489 part.UpdateFlag = 0; 1490 part.UpdateFlag = 0;
1491 if (part == m_rootPart)
1492 {
1493 if (!IsAttachment || (AttachedAvatar == avatar.ControllingClient.AgentId) ||
1494 (AttachmentPoint < 31) || (AttachmentPoint > 38))
1495 avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint>() {part.LocalId});
1496 }
1497 }
1490 }); 1498 });
1491 } 1499 }
1492 1500
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index e6ec741..9364b54 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3053,6 +3053,10 @@ namespace OpenSim.Region.Framework.Scenes
3053 if (ParentGroup.IsDeleted) 3053 if (ParentGroup.IsDeleted)
3054 return; 3054 return;
3055 3055
3056 if (ParentGroup.IsAttachment && (ParentGroup.AttachedAvatar != remoteClient.AgentId) &&
3057 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))
3058 return;
3059
3056 clientFlags &= ~(uint) PrimFlags.CreateSelected; 3060 clientFlags &= ~(uint) PrimFlags.CreateSelected;
3057 3061
3058 if (remoteClient.AgentId == _ownerID) 3062 if (remoteClient.AgentId == _ownerID)
@@ -4842,7 +4846,8 @@ namespace OpenSim.Region.Framework.Scenes
4842 if (ParentGroup.IsDeleted) 4846 if (ParentGroup.IsDeleted)
4843 return; 4847 return;
4844 4848
4845 if (ParentGroup.IsAttachment && ParentGroup.RootPart != this) 4849 if (ParentGroup.IsAttachment && ((ParentGroup.RootPart != this) ||
4850 ((ParentGroup.AttachedAvatar != remoteClient.AgentId) && (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))))
4846 return; 4851 return;
4847 4852
4848 // Causes this thread to dig into the Client Thread Data. 4853 // Causes this thread to dig into the Client Thread Data.