diff options
author | UbitUmarov | 2016-08-12 03:58:04 +0100 |
---|---|---|
committer | UbitUmarov | 2016-08-12 03:58:04 +0100 |
commit | c04792142f332b7d1e892eb739b7e0b70b3bd0e7 (patch) | |
tree | 7a6549d3ca27504ca456ff8e2a07e082c5bbc3b8 /OpenSim/Region/Framework/Scenes/Scene.cs | |
parent | remove code from httptests branch (diff) | |
download | opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.zip opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.gz opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.bz2 opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.xz |
partially revert commit 42a9afdc43cc.. of 06-12 not allowing more updates to be enqueued on deleted objects. Keep the catch up on deenqueue, so preserving the race condition safe guard. Let Scene sendkillObject work even if object is flaged as deleted. Still not clear how this are related to mantis 7858 or even less to 7990.
Diffstat (limited to '')
-rwxr-xr-x | OpenSim/Region/Framework/Scenes/Scene.cs | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 33418e6..5d5ea89 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3866,15 +3866,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3866 | foreach (uint localID in localIDs) | 3866 | foreach (uint localID in localIDs) |
3867 | { | 3867 | { |
3868 | SceneObjectPart part = GetSceneObjectPart(localID); | 3868 | SceneObjectPart part = GetSceneObjectPart(localID); |
3869 | if (part != null) // It is a prim | 3869 | if (part != null && part.ParentGroup != null && |
3870 | { | 3870 | part.ParentGroup.RootPart == part) |
3871 | if (part.ParentGroup != null && !part.ParentGroup.IsDeleted) // Valid | 3871 | deleteIDs.Add(localID); |
3872 | { | ||
3873 | if (part.ParentGroup.RootPart != part) // Child part | ||
3874 | continue; | ||
3875 | } | ||
3876 | } | ||
3877 | deleteIDs.Add(localID); | ||
3878 | } | 3872 | } |
3879 | 3873 | ||
3880 | ForEachClient(c => c.SendKillObject(deleteIDs)); | 3874 | ForEachClient(c => c.SendKillObject(deleteIDs)); |