diff options
author | diva | 2009-04-17 23:55:59 +0000 |
---|---|---|
committer | diva | 2009-04-17 23:55:59 +0000 |
commit | 722be8f13258b285b322d1ec8609714f7059fb62 (patch) | |
tree | 75b31e18c608ceeac89d91de2da118468ada68eb /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | * A few fixes to the Linear Motor (diff) | |
download | opensim-SC_OLD-722be8f13258b285b322d1ec8609714f7059fb62.zip opensim-SC_OLD-722be8f13258b285b322d1ec8609714f7059fb62.tar.gz opensim-SC_OLD-722be8f13258b285b322d1ec8609714f7059fb62.tar.bz2 opensim-SC_OLD-722be8f13258b285b322d1ec8609714f7059fb62.tar.xz |
Thank you M1sha for diagnosing and patching a lock bug affecting region crossings introduced in r9110. Fixes mantis #3456.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 0abe715..0eefd06 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1948,29 +1948,32 @@ namespace OpenSim.Region.Framework.Scenes | |||
1948 | { | 1948 | { |
1949 | //m_log.DebugFormat("Updating movement animation to {0}", anim); | 1949 | //m_log.DebugFormat("Updating movement animation to {0}", anim); |
1950 | 1950 | ||
1951 | if (m_animations.TrySetDefaultAnimation(anim, m_controllingClient.NextAnimationSequenceNumber, UUID.Zero)) | 1951 | if (!m_isChildAgent) |
1952 | { | 1952 | { |
1953 | if (m_scriptEngines != null) | 1953 | if (m_animations.TrySetDefaultAnimation(anim, m_controllingClient.NextAnimationSequenceNumber, UUID.Zero)) |
1954 | { | 1954 | { |
1955 | lock (m_attachments) | 1955 | if (m_scriptEngines != null) |
1956 | { | 1956 | { |
1957 | foreach (SceneObjectGroup grp in m_attachments) | 1957 | lock (m_attachments) |
1958 | { | 1958 | { |
1959 | // 16384 is CHANGED_ANIMATION | 1959 | foreach (SceneObjectGroup grp in m_attachments) |
1960 | // | ||
1961 | // Send this to all attachment root prims | ||
1962 | // | ||
1963 | foreach (IScriptModule m in m_scriptEngines) | ||
1964 | { | 1960 | { |
1965 | if (m == null) // No script engine loaded | 1961 | // 16384 is CHANGED_ANIMATION |
1966 | continue; | 1962 | // |
1963 | // Send this to all attachment root prims | ||
1964 | // | ||
1965 | foreach (IScriptModule m in m_scriptEngines) | ||
1966 | { | ||
1967 | if (m == null) // No script engine loaded | ||
1968 | continue; | ||
1967 | 1969 | ||
1968 | m.PostObjectEvent(grp.RootPart.UUID, "changed", new Object[] {16384}); | 1970 | m.PostObjectEvent(grp.RootPart.UUID, "changed", new Object[] { 16384 }); |
1971 | } | ||
1969 | } | 1972 | } |
1970 | } | 1973 | } |
1971 | } | 1974 | } |
1975 | SendAnimPack(); | ||
1972 | } | 1976 | } |
1973 | SendAnimPack(); | ||
1974 | } | 1977 | } |
1975 | } | 1978 | } |
1976 | 1979 | ||