diff options
Merge commit '2b2580e3a12d5c493f9a77bf9435ca32a0a0355c' into bigmerge
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 7 |
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. |