Make llSetKeyframedMotion prims waut at the borders of down sims and try again
periodically.avinationmerge
parent
fca8c82232
commit
e5e5b94cbe
|
@ -1746,6 +1746,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
|||
if (grp.RootPart.PhysActor != null)
|
||||
{
|
||||
grp.RootPart.PhysActor.CrossingFailure();
|
||||
if (grp.RootPart.KeyframeMotion != null)
|
||||
{
|
||||
grp.RootPart.Velocity = Vector3.Zero;
|
||||
grp.RootPart.KeyframeMotion.CrossingFailure();
|
||||
grp.SendGroupRootTerseUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -406,5 +406,17 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_group = tmp;
|
||||
return ms.ToArray();
|
||||
}
|
||||
|
||||
public void CrossingFailure()
|
||||
{
|
||||
// The serialization has stopped the timer, so let's wait a moment
|
||||
// then retry the crossing. We'll get back here if it fails.
|
||||
Util.FireAndForget(delegate (object x)
|
||||
{
|
||||
Thread.Sleep(60000);
|
||||
if (m_running)
|
||||
m_timer.Start();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue