aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorUbitUmarov2016-08-19 17:57:19 +0100
committerUbitUmarov2016-08-19 17:57:19 +0100
commite734d526fce393195355c964fef53c2eff95302e (patch)
tree85fcdbe01475db4331f995ed2e188c685d6403ef /OpenSim/Region
parentfix updates resend by reEnqueing, that got broken down the line (diff)
downloadopensim-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-xOpenSim/Region/Framework/Scenes/Scene.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs4
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 }