diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 15 |
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 | } |