aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorUbitUmarov2014-08-19 20:33:26 +0100
committerUbitUmarov2014-08-19 20:33:26 +0100
commitd16f7df673def43dfe922689a8c301ffe034ecaa (patch)
treeb4b9b378adc2e22aec233cfb7de02ee472cfcadf /OpenSim
parent test .... (diff)
downloadopensim-SC-d16f7df673def43dfe922689a8c301ffe034ecaa.zip
opensim-SC-d16f7df673def43dfe922689a8c301ffe034ecaa.tar.gz
opensim-SC-d16f7df673def43dfe922689a8c301ffe034ecaa.tar.bz2
opensim-SC-d16f7df673def43dfe922689a8c301ffe034ecaa.tar.xz
also send attachment pre-kills on crossings
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs15
1 files changed, 14 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index a1d40fd..a0c3ba9 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1900,22 +1900,35 @@ namespace OpenSim.Region.Framework.Scenes
1900 m_log.DebugFormat( 1900 m_log.DebugFormat(
1901 "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name); 1901 "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name);
1902 1902
1903 List<uint> kk = new List<uint>();
1904
1903 // Resume scripts this possible should also be moved down after sending the avatar to viewer ? 1905 // Resume scripts this possible should also be moved down after sending the avatar to viewer ?
1904 foreach (SceneObjectGroup sog in m_attachments) 1906 foreach (SceneObjectGroup sog in m_attachments)
1905 { 1907 {
1908 foreach (SceneObjectPart part in sog.Parts)
1909 kk.Add(part.LocalId);
1910
1911 sog.SendFullUpdateToClient(ControllingClient);
1912 SendFullUpdateToClient(ControllingClient);
1913
1906 // sog.ScheduleGroupForFullUpdate(); 1914 // sog.ScheduleGroupForFullUpdate();
1907 m_scene.ForEachScenePresence(delegate(ScenePresence p) 1915 m_scene.ForEachScenePresence(delegate(ScenePresence p)
1908 { 1916 {
1909 if (p != this && sog.HasPrivateAttachmentPoint) 1917 if (p == this)
1918 return;
1919 if (sog.HasPrivateAttachmentPoint)
1910 return; 1920 return;
1911 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && p.GodLevel < 200) 1921 if (ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && p.GodLevel < 200)
1912 return; 1922 return;
1923
1924 p.ControllingClient.SendKillObject(kk);
1913 sog.SendFullUpdateToClient(p.ControllingClient); 1925 sog.SendFullUpdateToClient(p.ControllingClient);
1914 SendFullUpdateToClient(p.ControllingClient); // resend our data by updates path 1926 SendFullUpdateToClient(p.ControllingClient); // resend our data by updates path
1915 }); 1927 });
1916 1928
1917 sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); 1929 sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource());
1918 sog.ResumeScripts(); 1930 sog.ResumeScripts();
1931 kk.Clear();
1919 } 1932 }
1920 } 1933 }
1921 } 1934 }