aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorCharles Krinke2009-07-02 16:02:18 +0000
committerCharles Krinke2009-07-02 16:02:18 +0000
commit8344df886b9bd77937ce53f3977c3f062f1e8602 (patch)
tree2e43eb376900edc6c3f76ac37a5577f884db7b43 /OpenSim
parentmake methods surounding backup virtual so they could be override for server s... (diff)
downloadopensim-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
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs18
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;