aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs12
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