aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/KeyframeMotion.cs7
1 files changed, 6 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs b/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs
index a3ebe6f..e3f979f 100644
--- a/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs
+++ b/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs
@@ -785,6 +785,11 @@ namespace OpenSim.Region.Framework.Scenes
785 785
786 public Byte[] Serialize() 786 public Byte[] Serialize()
787 { 787 {
788 bool timerWasStopped;
789 lock (m_frames)
790 {
791 timerWasStopped = m_timerStopped;
792 }
788 StopTimer(); 793 StopTimer();
789 MemoryStream ms = new MemoryStream(); 794 MemoryStream ms = new MemoryStream();
790 795
@@ -795,7 +800,7 @@ namespace OpenSim.Region.Framework.Scenes
795 m_serializedPosition = tmp.AbsolutePosition; 800 m_serializedPosition = tmp.AbsolutePosition;
796 fmt.Serialize(ms, this); 801 fmt.Serialize(ms, this);
797 m_group = tmp; 802 m_group = tmp;
798 if (m_running && !m_waitingCrossing) 803 if (!timerWasStopped && m_running && !m_waitingCrossing)
799 StartTimer(); 804 StartTimer();
800 805
801 return ms.ToArray(); 806 return ms.ToArray();