diff options
author | Melanie Thielker | 2014-03-25 03:17:44 +0100 |
---|---|---|
committer | Melanie Thielker | 2014-03-25 03:17:44 +0100 |
commit | a30ad71651cb49720bf8b04e2d651bd28f5b8ea2 (patch) | |
tree | dcb37a3ef1c4c839b88310d57bc0ad70e8b35936 | |
parent | Remove the spammy "voice not enabled" message some viewers trigger in non voi... (diff) | |
download | opensim-SC-a30ad71651cb49720bf8b04e2d651bd28f5b8ea2.zip opensim-SC-a30ad71651cb49720bf8b04e2d651bd28f5b8ea2.tar.gz opensim-SC-a30ad71651cb49720bf8b04e2d651bd28f5b8ea2.tar.bz2 opensim-SC-a30ad71651cb49720bf8b04e2d651bd28f5b8ea2.tar.xz |
Guard against Scene being null in attachments it the wearing avatar is in the process of logging out.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 3e1dcaa..86f60bb 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1886,25 +1886,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
1886 | { | 1886 | { |
1887 | SceneObjectPart part = parts[i]; | 1887 | SceneObjectPart part = parts[i]; |
1888 | 1888 | ||
1889 | Scene.ForEachRootScenePresence(delegate(ScenePresence avatar) | 1889 | if (Scene != null) |
1890 | { | 1890 | { |
1891 | if (avatar.ParentID == LocalId) | 1891 | Scene.ForEachRootScenePresence(delegate(ScenePresence avatar) |
1892 | avatar.StandUp(); | ||
1893 | |||
1894 | if (!silent) | ||
1895 | { | 1892 | { |
1896 | part.ClearUpdateSchedule(); | 1893 | if (avatar.ParentID == LocalId) |
1897 | if (part == m_rootPart) | 1894 | avatar.StandUp(); |
1895 | |||
1896 | if (!silent) | ||
1898 | { | 1897 | { |
1899 | if (!IsAttachment | 1898 | part.ClearUpdateSchedule(); |
1900 | || AttachedAvatar == avatar.ControllingClient.AgentId | 1899 | if (part == m_rootPart) |
1901 | || !HasPrivateAttachmentPoint) | 1900 | { |
1902 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); | 1901 | if (!IsAttachment |
1902 | || AttachedAvatar == avatar.ControllingClient.AgentId | ||
1903 | || !HasPrivateAttachmentPoint) | ||
1904 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); | ||
1905 | } | ||
1903 | } | 1906 | } |
1904 | } | 1907 | }); |
1905 | }); | 1908 | } |
1906 | } | 1909 | } |
1907 | |||
1908 | } | 1910 | } |
1909 | 1911 | ||
1910 | public void AddScriptLPS(int count) | 1912 | public void AddScriptLPS(int count) |