diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 25 |
2 files changed, 3 insertions, 26 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index e7fe8df..e0e3884 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3162,8 +3162,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3162 | 3162 | ||
3163 | m_eventManager.TriggerOnRemovePresence(agentID); | 3163 | m_eventManager.TriggerOnRemovePresence(agentID); |
3164 | 3164 | ||
3165 | if (avatar != null && (!avatar.IsChildAgent) && avatar.PresenceType != PresenceType.Npc) | 3165 | if (AttachmentsModule != null && avatar != null && (!avatar.IsChildAgent) && avatar.PresenceType != PresenceType.Npc) |
3166 | avatar.SaveChangedAttachments(); | 3166 | AttachmentsModule.SaveChangedAttachments(avatar); |
3167 | 3167 | ||
3168 | ForEachClient( | 3168 | ForEachClient( |
3169 | delegate(IClientAPI client) | 3169 | delegate(IClientAPI client) |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 040e801..91e11eb 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3831,28 +3831,5 @@ namespace OpenSim.Region.Framework.Scenes | |||
3831 | m_reprioritization_called = false; | 3831 | m_reprioritization_called = false; |
3832 | } | 3832 | } |
3833 | } | 3833 | } |
3834 | |||
3835 | public void SaveChangedAttachments() | ||
3836 | { | ||
3837 | // Need to copy this list because DetachToInventoryPrep mods it | ||
3838 | List<SceneObjectGroup> attachments = new List<SceneObjectGroup>(Attachments.ToArray()); | ||
3839 | |||
3840 | IAttachmentsModule attachmentsModule = m_scene.AttachmentsModule; | ||
3841 | if (attachmentsModule != null) | ||
3842 | { | ||
3843 | foreach (SceneObjectGroup grp in attachments) | ||
3844 | { | ||
3845 | if (grp.HasGroupChanged) // Resizer scripts? | ||
3846 | { | ||
3847 | grp.IsAttachment = false; | ||
3848 | grp.AbsolutePosition = grp.RootPart.AttachedPos; | ||
3849 | // grp.DetachToInventoryPrep(); | ||
3850 | attachmentsModule.UpdateKnownItem(ControllingClient, | ||
3851 | grp, grp.GetFromItemID(), grp.OwnerID); | ||
3852 | grp.IsAttachment = true; | ||
3853 | } | ||
3854 | } | ||
3855 | } | ||
3856 | } | ||
3857 | } | 3834 | } |
3858 | } | 3835 | } \ No newline at end of file |