diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 19 |
3 files changed, 10 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs index 916148b..64567db 100644 --- a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs +++ b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs | |||
@@ -105,7 +105,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
105 | if (permissionToDelete) | 105 | if (permissionToDelete) |
106 | { | 106 | { |
107 | foreach (SceneObjectGroup g in objectGroups) | 107 | foreach (SceneObjectGroup g in objectGroups) |
108 | g.DeleteGroup(false); | 108 | g.DeleteGroupFromScene(false); |
109 | } | 109 | } |
110 | } | 110 | } |
111 | 111 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index ac2246c..33e3e5d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2189,7 +2189,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2189 | EventManager.TriggerParcelPrimCountTainted(); | 2189 | EventManager.TriggerParcelPrimCountTainted(); |
2190 | } | 2190 | } |
2191 | 2191 | ||
2192 | group.DeleteGroup(silent); | 2192 | group.DeleteGroupFromScene(silent); |
2193 | 2193 | ||
2194 | // m_log.DebugFormat("[SCENE]: Exit DeleteSceneObject() for {0} {1}", group.Name, group.UUID); | 2194 | // m_log.DebugFormat("[SCENE]: Exit DeleteSceneObject() for {0} {1}", group.Name, group.UUID); |
2195 | } | 2195 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 52f6c1a..3411d18 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -29,7 +29,7 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Drawing; | 30 | using System.Drawing; |
31 | using System.IO; | 31 | using System.IO; |
32 | using System.Diagnostics; | 32 | using System.Linq; |
33 | using System.Threading; | 33 | using System.Threading; |
34 | using System.Xml; | 34 | using System.Xml; |
35 | using System.Xml.Serialization; | 35 | using System.Xml.Serialization; |
@@ -1564,7 +1564,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1564 | /// must be handled by the caller. | 1564 | /// must be handled by the caller. |
1565 | /// | 1565 | /// |
1566 | /// <param name="silent">If true then deletion is not broadcast to clients</param> | 1566 | /// <param name="silent">If true then deletion is not broadcast to clients</param> |
1567 | public void DeleteGroup(bool silent) | 1567 | public void DeleteGroupFromScene(bool silent) |
1568 | { | 1568 | { |
1569 | // We need to keep track of this state in case this group is still queued for backup. | 1569 | // We need to keep track of this state in case this group is still queued for backup. |
1570 | m_isDeleted = true; | 1570 | m_isDeleted = true; |
@@ -1572,28 +1572,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
1572 | DetachFromBackup(); | 1572 | DetachFromBackup(); |
1573 | 1573 | ||
1574 | lockPartsForRead(true); | 1574 | lockPartsForRead(true); |
1575 | List<SceneObjectPart> values = new List<SceneObjectPart>(m_parts.Values); | 1575 | List<SceneObjectPart> parts = new List<SceneObjectPart>(m_parts.Values); |
1576 | lockPartsForRead(false); | 1576 | lockPartsForRead(false); |
1577 | 1577 | ||
1578 | foreach (SceneObjectPart part in values) | 1578 | foreach (SceneObjectPart part in parts) |
1579 | { | 1579 | { |
1580 | // part.Inventory.RemoveScriptInstances(); | 1580 | Scene.ForEachScenePresence(delegate (ScenePresence avatar) |
1581 | |||
1582 | Scene.ForEachScenePresence(delegate (ScenePresence sp) | ||
1583 | { | 1581 | { |
1584 | if (sp.ParentID == LocalId) | 1582 | if (avatar.ParentID == LocalId) |
1585 | { | 1583 | { |
1586 | sp.StandUp(); | 1584 | avatar.StandUp(); |
1587 | } | 1585 | } |
1588 | 1586 | ||
1589 | if (!silent) | 1587 | if (!silent) |
1590 | { | 1588 | { |
1591 | part.UpdateFlag = 0; | 1589 | part.UpdateFlag = 0; |
1592 | if (part == m_rootPart) | 1590 | if (part == m_rootPart) |
1593 | sp.ControllingClient.SendKillObject(m_regionHandle, part.LocalId); | 1591 | avatar.ControllingClient.SendKillObject(m_regionHandle, part.LocalId); |
1594 | } | 1592 | } |
1595 | }); | 1593 | }); |
1596 | |||
1597 | } | 1594 | } |
1598 | 1595 | ||
1599 | 1596 | ||