diff options
author | Melanie Thielker | 2010-08-25 20:11:47 +0200 |
---|---|---|
committer | Melanie Thielker | 2010-08-25 20:11:47 +0200 |
commit | c13045b25e6424c90642613d400ab6ebf2744064 (patch) | |
tree | 68460b4ae34d14328f9bcf1623a43fcf4d67277f /OpenSim/Region/Framework | |
parent | Lock the attachment cleanup so it doesn't go into an endless deletion frenzy (diff) | |
download | opensim-SC-c13045b25e6424c90642613d400ab6ebf2744064.zip opensim-SC-c13045b25e6424c90642613d400ab6ebf2744064.tar.gz opensim-SC-c13045b25e6424c90642613d400ab6ebf2744064.tar.bz2 opensim-SC-c13045b25e6424c90642613d400ab6ebf2744064.tar.xz |
Correct a logic error in attachment cleanup
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 13 |
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 | } |