diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 3c2cd9b..0c7b2e8 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2059,7 +2059,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2059 | /// <param name="group">Object Id</param> | 2059 | /// <param name="group">Object Id</param> |
2060 | /// <param name="silent">Suppress broadcasting changes to other clients.</param> | 2060 | /// <param name="silent">Suppress broadcasting changes to other clients.</param> |
2061 | public void DeleteSceneObject(SceneObjectGroup group, bool silent) | 2061 | public void DeleteSceneObject(SceneObjectGroup group, bool silent) |
2062 | { | 2062 | { |
2063 | // m_log.DebugFormat("[SCENE]: Deleting scene object {0} {1}", group.Name, group.UUID); | 2063 | // m_log.DebugFormat("[SCENE]: Deleting scene object {0} {1}", group.Name, group.UUID); |
2064 | 2064 | ||
2065 | //SceneObjectPart rootPart = group.GetChildPart(group.UUID); | 2065 | //SceneObjectPart rootPart = group.GetChildPart(group.UUID); |
@@ -2102,7 +2102,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2102 | if (!silent) | 2102 | if (!silent) |
2103 | SendKillObject(new List<uint>() { group.LocalId }); | 2103 | SendKillObject(new List<uint>() { group.LocalId }); |
2104 | 2104 | ||
2105 | // m_log.DebugFormat("[SCENE]: Exit DeleteSceneObject() for {0} {1}", group.Name, group.UUID); | 2105 | // m_log.DebugFormat("[SCENE]: Exit DeleteSceneObject() for {0} {1}", group.Name, group.UUID); |
2106 | } | 2106 | } |
2107 | 2107 | ||
2108 | /// <summary> | 2108 | /// <summary> |
@@ -2121,9 +2121,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2121 | // Force a database update so that the scene object group ID is accurate. It's possible that the | 2121 | // Force a database update so that the scene object group ID is accurate. It's possible that the |
2122 | // group has recently been delinked from another group but that this change has not been persisted | 2122 | // group has recently been delinked from another group but that this change has not been persisted |
2123 | // to the DB. | 2123 | // to the DB. |
2124 | ForceSceneObjectBackup(so); | 2124 | // This is an expensive thing to do so only do it if absolutely necessary. |
2125 | if (so.HasGroupChangedDueToDelink) | ||
2126 | ForceSceneObjectBackup(so); | ||
2127 | |||
2125 | so.DetachFromBackup(); | 2128 | so.DetachFromBackup(); |
2126 | SimulationDataService.RemoveObject(so.UUID, m_regInfo.RegionID); | 2129 | SimulationDataService.RemoveObject(so.UUID, m_regInfo.RegionID); |
2127 | } | 2130 | } |
2128 | 2131 | ||
2129 | // We need to keep track of this state in case this group is still queued for further backup. | 2132 | // We need to keep track of this state in case this group is still queued for further backup. |
@@ -2650,6 +2653,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2650 | } | 2653 | } |
2651 | else | 2654 | else |
2652 | m_log.DebugFormat("[SCENE]: User Client Verification for {0} {1} in {2} returned true", aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName); | 2655 | m_log.DebugFormat("[SCENE]: User Client Verification for {0} {1} in {2} returned true", aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName); |
2656 | |||
2653 | } | 2657 | } |
2654 | } | 2658 | } |
2655 | 2659 | ||