keep intransit flag even if deleted, dont set sog position if in transit
parent
639f128d2c
commit
139044fc79
|
@ -552,7 +552,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
d.BeginInvoke(this, val, CrossAsyncCompleted, d);
|
d.BeginInvoke(this, val, CrossAsyncCompleted, d);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (RootPart.GetStatusSandbox())
|
if (RootPart.GetStatusSandbox())
|
||||||
{
|
{
|
||||||
|
@ -602,6 +602,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Scene.EventManager.TriggerParcelPrimCountTainted();
|
Scene.EventManager.TriggerParcelPrimCountTainted();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public SceneObjectGroup CrossAsync(SceneObjectGroup sog, Vector3 val)
|
public SceneObjectGroup CrossAsync(SceneObjectGroup sog, Vector3 val)
|
||||||
{
|
{
|
||||||
|
@ -751,11 +752,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
SOGCrossDelegate icon = (SOGCrossDelegate)iar.AsyncState;
|
SOGCrossDelegate icon = (SOGCrossDelegate)iar.AsyncState;
|
||||||
SceneObjectGroup sog = icon.EndInvoke(iar);
|
SceneObjectGroup sog = icon.EndInvoke(iar);
|
||||||
|
|
||||||
if (sog.IsDeleted)
|
if (!sog.IsDeleted)
|
||||||
{
|
|
||||||
sog.inTransit = false; // just in case...
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
SceneObjectPart rootp = sog.m_rootPart;
|
SceneObjectPart rootp = sog.m_rootPart;
|
||||||
Vector3 oldp = rootp.GroupPosition;
|
Vector3 oldp = rootp.GroupPosition;
|
||||||
|
|
Loading…
Reference in New Issue