aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
authorMelanie Thielker2010-08-25 20:11:47 +0200
committerMelanie Thielker2010-08-25 20:11:47 +0200
commitc13045b25e6424c90642613d400ab6ebf2744064 (patch)
tree68460b4ae34d14328f9bcf1623a43fcf4d67277f /OpenSim/Region/Framework/Scenes/Scene.cs
parentLock the attachment cleanup so it doesn't go into an endless deletion frenzy (diff)
downloadopensim-SC_OLD-c13045b25e6424c90642613d400ab6ebf2744064.zip
opensim-SC_OLD-c13045b25e6424c90642613d400ab6ebf2744064.tar.gz
opensim-SC_OLD-c13045b25e6424c90642613d400ab6ebf2744064.tar.bz2
opensim-SC_OLD-c13045b25e6424c90642613d400ab6ebf2744064.tar.xz
Correct a logic error in attachment cleanup
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs13
1 files changed, 9 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 2324f7a..c7b38a1 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -5056,7 +5056,7 @@ namespace OpenSim.Region.Framework.Scenes
5056 { 5056 {
5057 ForEachSOG(delegate (SceneObjectGroup grp) 5057 ForEachSOG(delegate (SceneObjectGroup grp)
5058 { 5058 {
5059 if (grp.RootPart.Shape.State != 0 || objectsToDelete.Contains(grp)) 5059 if (grp.RootPart.Shape.State != 0 && (!objectsToDelete.Contains(grp)))
5060 { 5060 {
5061 UUID agentID = grp.OwnerID; 5061 UUID agentID = grp.OwnerID;
5062 if (agentID == UUID.Zero) 5062 if (agentID == UUID.Zero)
@@ -5075,10 +5075,15 @@ namespace OpenSim.Region.Framework.Scenes
5075 }); 5075 });
5076 } 5076 }
5077 5077
5078 foreach (SceneObjectGroup grp in objectsToDelete) 5078 if (objectsToDelete.Count > 0)
5079 { 5079 {
5080 m_log.InfoFormat("[SCENE]: Deleting dropped attachment {0} of user {1}", grp.UUID, grp.OwnerID); 5080 m_log.DebugFormat("[SCENE]: Starting delete of {0} dropped attachments", objectsToDelete.Count);
5081 DeleteSceneObject(grp, true); 5081 foreach (SceneObjectGroup grp in objectsToDelete)
5082 {
5083 m_log.InfoFormat("[SCENE]: Deleting dropped attachment {0} of user {1}", grp.UUID, grp.OwnerID);
5084 DeleteSceneObject(grp, true);
5085 }
5086 m_log.Debug("[SCENE]: Finished dropped attachment deletion");
5082 } 5087 }
5083 } 5088 }
5084 } 5089 }