aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs7
2 files changed, 11 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 980b01f..234eb7d 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1174,7 +1174,11 @@ namespace OpenSim.Region.Framework.Scenes
1174 { 1174 {
1175 part.UpdateFlag = 0; 1175 part.UpdateFlag = 0;
1176 if (part == m_rootPart) 1176 if (part == m_rootPart)
1177 avatar.ControllingClient.SendKillObject(m_regionHandle, part.LocalId); 1177 {
1178 if (!IsAttachment || (AttachedAvatar == avatar.ControllingClient.AgentId) ||
1179 (AttachmentPoint < 31) || (AttachmentPoint > 38))
1180 avatar.ControllingClient.SendKillObject(m_regionHandle, part.LocalId);
1181 }
1178 } 1182 }
1179 }); 1183 });
1180 } 1184 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 632ac8f..d631c12 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2999,6 +2999,10 @@ namespace OpenSim.Region.Framework.Scenes
2999 if (ParentGroup.IsDeleted) 2999 if (ParentGroup.IsDeleted)
3000 return; 3000 return;
3001 3001
3002 if (ParentGroup.IsAttachment && (ParentGroup.AttachedAvatar != remoteClient.AgentId) &&
3003 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))
3004 return;
3005
3002 clientFlags &= ~(uint) PrimFlags.CreateSelected; 3006 clientFlags &= ~(uint) PrimFlags.CreateSelected;
3003 3007
3004 if (remoteClient.AgentId == _ownerID) 3008 if (remoteClient.AgentId == _ownerID)
@@ -4786,7 +4790,8 @@ namespace OpenSim.Region.Framework.Scenes
4786 if (ParentGroup.IsDeleted) 4790 if (ParentGroup.IsDeleted)
4787 return; 4791 return;
4788 4792
4789 if (ParentGroup.IsAttachment && ParentGroup.RootPart != this) 4793 if (ParentGroup.IsAttachment && ((ParentGroup.RootPart != this) ||
4794 ((ParentGroup.AttachedAvatar != remoteClient.AgentId) && (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))))
4790 return; 4795 return;
4791 4796
4792 // Causes this thread to dig into the Client Thread Data. 4797 // Causes this thread to dig into the Client Thread Data.