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)
|
if (grp.RootPart.PhysActor != null)
|
||||||
{
|
{
|
||||||
grp.RootPart.PhysActor.CrossingFailure();
|
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;
|
m_group = tmp;
|
||||||
return ms.ToArray();
|
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