diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 46ce8fd..55ee460 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -640,6 +640,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
640 | 640 | ||
641 | m_rootPart.AttachedAvatar = agentID; | 641 | m_rootPart.AttachedAvatar = agentID; |
642 | 642 | ||
643 | //Anakin Lohner bug #3839 | ||
644 | foreach (SceneObjectPart p in m_parts.Values) | ||
645 | { | ||
646 | p.AttachedAvatar = agentID; | ||
647 | } | ||
648 | |||
643 | if (m_rootPart.PhysActor != null) | 649 | if (m_rootPart.PhysActor != null) |
644 | { | 650 | { |
645 | m_scene.PhysicsScene.RemovePrim(m_rootPart.PhysActor); | 651 | m_scene.PhysicsScene.RemovePrim(m_rootPart.PhysActor); |
@@ -702,6 +708,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
702 | 708 | ||
703 | AbsolutePosition = detachedpos; | 709 | AbsolutePosition = detachedpos; |
704 | m_rootPart.AttachedAvatar = UUID.Zero; | 710 | m_rootPart.AttachedAvatar = UUID.Zero; |
711 | //Anakin Lohner bug #3839 | ||
712 | foreach (SceneObjectPart p in m_parts.Values) | ||
713 | { | ||
714 | p.AttachedAvatar = UUID.Zero; | ||
715 | } | ||
716 | |||
705 | m_rootPart.SetParentLocalId(0); | 717 | m_rootPart.SetParentLocalId(0); |
706 | SetAttachmentPoint((byte)0); | 718 | SetAttachmentPoint((byte)0); |
707 | m_rootPart.ApplyPhysics(m_rootPart.GetEffectiveObjectFlags(), m_rootPart.VolumeDetectActive, m_scene.m_physicalPrim); | 719 | m_rootPart.ApplyPhysics(m_rootPart.GetEffectiveObjectFlags(), m_rootPart.VolumeDetectActive, m_scene.m_physicalPrim); |
@@ -725,6 +737,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
725 | } | 737 | } |
726 | 738 | ||
727 | m_rootPart.AttachedAvatar = UUID.Zero; | 739 | m_rootPart.AttachedAvatar = UUID.Zero; |
740 | //Anakin Lohner bug #3839 | ||
741 | foreach (SceneObjectPart p in m_parts.Values) | ||
742 | { | ||
743 | p.AttachedAvatar = UUID.Zero; | ||
744 | } | ||
745 | |||
728 | m_rootPart.SetParentLocalId(0); | 746 | m_rootPart.SetParentLocalId(0); |
729 | //m_rootPart.SetAttachmentPoint((byte)0); | 747 | //m_rootPart.SetAttachmentPoint((byte)0); |
730 | m_rootPart.IsAttachment = false; | 748 | m_rootPart.IsAttachment = false; |