diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index c26f862..90d56de 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -2679,17 +2679,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
2679 | { | 2679 | { |
2680 | lock (m_attachments) | 2680 | lock (m_attachments) |
2681 | { | 2681 | { |
2682 | try | 2682 | // Delete attachments from scene |
2683 | { | 2683 | // Don't try to save, as this thread won't live long |
2684 | foreach (SceneObjectGroup grp in m_attachments) | 2684 | // enough to complete the save. This would cause no copy |
2685 | { | 2685 | // attachments to poof! |
2686 | // ControllingClient may be null at this point! | 2686 | // |
2687 | m_scene.m_sceneGraph.DetachSingleAttachmentToInv(grp.GetFromAssetID(), ControllingClient); | 2687 | foreach (SceneObjectGroup grp in m_attachments) |
2688 | } | ||
2689 | } | ||
2690 | catch (InvalidOperationException) | ||
2691 | { | 2688 | { |
2692 | m_log.Info("[CLIENT]: Couldn't save attachments. :("); | 2689 | m_scene.DeleteSceneObject(grp); |
2693 | } | 2690 | } |
2694 | m_attachments.Clear(); | 2691 | m_attachments.Clear(); |
2695 | } | 2692 | } |