aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs10
1 files changed, 10 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 0849698..74e9cdc 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -1906,6 +1906,15 @@ namespace OpenSim.Region.Environment.Scenes
1906 1906
1907 internal void Close() 1907 internal void Close()
1908 { 1908 {
1909 lock (m_attachments)
1910 {
1911 foreach (SceneObjectGroup grp in m_attachments)
1912 {
1913 // ControllingClient may be null at this point!
1914 m_scene.m_innerScene.DetachSingleAttachmentToInv(grp.GetFromAssetID(), ControllingClient);
1915 }
1916 m_attachments.Clear();
1917 }
1909 lock (m_knownPrimUUID) 1918 lock (m_knownPrimUUID)
1910 { 1919 {
1911 m_knownPrimUUID.Clear(); 1920 m_knownPrimUUID.Clear();
@@ -1972,6 +1981,7 @@ namespace OpenSim.Region.Environment.Scenes
1972 gobj.RootPart.SetParentLocalId(0); 1981 gobj.RootPart.SetParentLocalId(0);
1973 gobj.RootPart.m_IsAttachment = false; 1982 gobj.RootPart.m_IsAttachment = false;
1974 gobj.AbsolutePosition = gobj.RootPart.m_attachedPos; 1983 gobj.AbsolutePosition = gobj.RootPart.m_attachedPos;
1984 gobj.RootPart.LastOwnerID = gobj.GetFromAssetID();
1975 m_scene.CrossPrimGroupIntoNewRegion(regionHandle, gobj); 1985 m_scene.CrossPrimGroupIntoNewRegion(regionHandle, gobj);
1976 } 1986 }
1977 } 1987 }