diff options
author | Charles Krinke | 2009-07-02 16:02:18 +0000 |
---|---|---|
committer | Charles Krinke | 2009-07-02 16:02:18 +0000 |
commit | 8344df886b9bd77937ce53f3977c3f062f1e8602 (patch) | |
tree | 2e43eb376900edc6c3f76ac37a5577f884db7b43 | |
parent | make methods surounding backup virtual so they could be override for server s... (diff) | |
download | opensim-SC_OLD-8344df886b9bd77937ce53f3977c3f062f1e8602.zip opensim-SC_OLD-8344df886b9bd77937ce53f3977c3f062f1e8602.tar.gz opensim-SC_OLD-8344df886b9bd77937ce53f3977c3f062f1e8602.tar.bz2 opensim-SC_OLD-8344df886b9bd77937ce53f3977c3f062f1e8602.tar.xz |
Thank you kindly, AnakinLohner, for a patch that addresses:
The patch included updates the root and child prims' AttchedAvatar
with the right UUID. It also cleans the AttachedAvatar properties
for the root and child prims on Drop and Detach
-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; |