diff options
author | Melanie | 2012-02-26 21:16:24 +0100 |
---|---|---|
committer | Melanie | 2012-02-26 21:16:24 +0100 |
commit | e5e5b94cbe6076f74d5ad2358d020f7d4f7ac18f (patch) | |
tree | 60d6192787ae633647b669ef6bf4421bbc1c4399 /OpenSim | |
parent | Move KeyframeMotion from SOG to SOP because we can't persist it any (diff) | |
download | opensim-SC-e5e5b94cbe6076f74d5ad2358d020f7d4f7ac18f.zip opensim-SC-e5e5b94cbe6076f74d5ad2358d020f7d4f7ac18f.tar.gz opensim-SC-e5e5b94cbe6076f74d5ad2358d020f7d4f7ac18f.tar.bz2 opensim-SC-e5e5b94cbe6076f74d5ad2358d020f7d4f7ac18f.tar.xz |
Make llSetKeyframedMotion prims waut at the borders of down sims and try again
periodically.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/KeyframeMotion.cs | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 2498705..60a8f86 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -1746,6 +1746,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1746 | if (grp.RootPart.PhysActor != null) | 1746 | if (grp.RootPart.PhysActor != null) |
1747 | { | 1747 | { |
1748 | grp.RootPart.PhysActor.CrossingFailure(); | 1748 | grp.RootPart.PhysActor.CrossingFailure(); |
1749 | if (grp.RootPart.KeyframeMotion != null) | ||
1750 | { | ||
1751 | grp.RootPart.Velocity = Vector3.Zero; | ||
1752 | grp.RootPart.KeyframeMotion.CrossingFailure(); | ||
1753 | grp.SendGroupRootTerseUpdate(); | ||
1754 | } | ||
1749 | } | 1755 | } |
1750 | } | 1756 | } |
1751 | 1757 | ||
diff --git a/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs b/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs index bf18f4d..b7b0d27 100644 --- a/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs +++ b/OpenSim/Region/Framework/Scenes/KeyframeMotion.cs | |||
@@ -406,5 +406,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
406 | m_group = tmp; | 406 | m_group = tmp; |
407 | return ms.ToArray(); | 407 | return ms.ToArray(); |
408 | } | 408 | } |
409 | |||
410 | public void CrossingFailure() | ||
411 | { | ||
412 | // The serialization has stopped the timer, so let's wait a moment | ||
413 | // then retry the crossing. We'll get back here if it fails. | ||
414 | Util.FireAndForget(delegate (object x) | ||
415 | { | ||
416 | Thread.Sleep(60000); | ||
417 | if (m_running) | ||
418 | m_timer.Start(); | ||
419 | }); | ||
420 | } | ||
409 | } | 421 | } |
410 | } | 422 | } |