diff options
author | UbitUmarov | 2016-08-19 17:57:19 +0100 |
---|---|---|
committer | UbitUmarov | 2016-08-19 17:57:19 +0100 |
commit | e734d526fce393195355c964fef53c2eff95302e (patch) | |
tree | 85fcdbe01475db4331f995ed2e188c685d6403ef /OpenSim/Region | |
parent | fix updates resend by reEnqueing, that got broken down the line (diff) | |
download | opensim-SC-e734d526fce393195355c964fef53c2eff95302e.zip opensim-SC-e734d526fce393195355c964fef53c2eff95302e.tar.gz opensim-SC-e734d526fce393195355c964fef53c2eff95302e.tar.bz2 opensim-SC-e734d526fce393195355c964fef53c2eff95302e.tar.xz |
on object delete send a direct kill and a delayed one via updates queue, Until we find why some are missing, (if its not by udp nature). also remove redundant avatar stands
Diffstat (limited to 'OpenSim/Region')
-rwxr-xr-x | OpenSim/Region/Framework/Scenes/Scene.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 4 |
2 files changed, 3 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index d5dbcaf..7b1b3c9 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2780,13 +2780,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2780 | else | 2780 | else |
2781 | group.StopScriptInstances(); | 2781 | group.StopScriptInstances(); |
2782 | 2782 | ||
2783 | List<ScenePresence> avatars = group.GetSittingAvatars(); | ||
2784 | foreach (ScenePresence av in avatars) | ||
2785 | { | ||
2786 | if(av.ParentUUID == UUID.Zero) | ||
2787 | av.StandUp(); | ||
2788 | } | ||
2789 | |||
2790 | SceneObjectPart[] partList = group.Parts; | 2783 | SceneObjectPart[] partList = group.Parts; |
2791 | 2784 | ||
2792 | foreach (SceneObjectPart part in partList) | 2785 | foreach (SceneObjectPart part in partList) |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index df6a1cf..573cfe3 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2078,7 +2078,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2078 | 2078 | ||
2079 | Scene.ForEachScenePresence(delegate(ScenePresence avatar) | 2079 | Scene.ForEachScenePresence(delegate(ScenePresence avatar) |
2080 | { | 2080 | { |
2081 | if (!avatar.IsChildAgent && avatar.ParentID == LocalId) | 2081 | if (!avatar.IsChildAgent && avatar.ParentID == LocalId && avatar.ParentUUID == UUID.Zero) |
2082 | avatar.StandUp(); | 2082 | avatar.StandUp(); |
2083 | 2083 | ||
2084 | if (!silent) | 2084 | if (!silent) |
@@ -2092,6 +2092,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2092 | { | 2092 | { |
2093 | // Send a kill object immediately | 2093 | // Send a kill object immediately |
2094 | avatar.ControllingClient.SendKillObject(new List<uint> { part.LocalId }); | 2094 | avatar.ControllingClient.SendKillObject(new List<uint> { part.LocalId }); |
2095 | //direct enqueue another delayed kill | ||
2096 | avatar.ControllingClient.SendEntityUpdate(part,PrimUpdateFlags.Kill); | ||
2095 | } | 2097 | } |
2096 | } | 2098 | } |
2097 | } | 2099 | } |