aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authordiva2009-04-17 23:55:59 +0000
committerdiva2009-04-17 23:55:59 +0000
commit722be8f13258b285b322d1ec8609714f7059fb62 (patch)
tree75b31e18c608ceeac89d91de2da118468ada68eb /OpenSim/Region/Framework
parent* A few fixes to the Linear Motor (diff)
downloadopensim-SC-722be8f13258b285b322d1ec8609714f7059fb62.zip
opensim-SC-722be8f13258b285b322d1ec8609714f7059fb62.tar.gz
opensim-SC-722be8f13258b285b322d1ec8609714f7059fb62.tar.bz2
opensim-SC-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')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs29
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