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 /OpenSim/Region | |
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
Diffstat (limited to 'OpenSim/Region')
-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; |