diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 5670492..b0b402c 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1519,6 +1519,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
1519 | if (m_isDeleted) | 1519 | if (m_isDeleted) |
1520 | return; | 1520 | return; |
1521 | 1521 | ||
1522 | // This is what happens when an orphanced link set child prim's | ||
1523 | // group was queued when it was linked | ||
1524 | // | ||
1525 | if (m_rootPart == null) | ||
1526 | return; | ||
1527 | |||
1522 | lock (m_parts) | 1528 | lock (m_parts) |
1523 | { | 1529 | { |
1524 | //if (m_rootPart.m_IsAttachment) | 1530 | //if (m_rootPart.m_IsAttachment) |
@@ -1815,6 +1821,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
1815 | } | 1821 | } |
1816 | 1822 | ||
1817 | m_scene.UnlinkSceneObject(objectGroup.UUID, true); | 1823 | m_scene.UnlinkSceneObject(objectGroup.UUID, true); |
1824 | objectGroup.Children.Clear(); | ||
1825 | objectGroup.RootPart = null; | ||
1818 | 1826 | ||
1819 | // TODO Deleting the original group object may cause problems later on if they have already | 1827 | // TODO Deleting the original group object may cause problems later on if they have already |
1820 | // made it into the update queue. However, sending out updates for those parts is now | 1828 | // made it into the update queue. However, sending out updates for those parts is now |