Fix an issue with an A->C->B->A teleport where these regions are in a row (A,B,C) where the A root agent is still closed, terminating the connection.
This was occuring because teleport to B did not set DoNotCloseAfterTeleport on A as it was a neighbour (where it isn't set to avoid the issue where the source region doesn't send Close() to regions that are still neighbours (hence not resetting DoNotCloseAfterTeleport). Fix here is to still set DoNotCloseAfterTeleport if scene presence is still registered as in transit from ATeleportWork
parent
b1c26a56b3
commit
99bce9d877
|
@ -3699,6 +3699,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
sp.DoNotCloseAfterTeleport = true;
|
sp.DoNotCloseAfterTeleport = true;
|
||||||
}
|
}
|
||||||
|
else if (EntityTransferModule.IsInTransit(sp.UUID))
|
||||||
|
{
|
||||||
|
m_log.DebugFormat(
|
||||||
|
"[SCENE]: Setting DoNotCloseAfterTeleport for child scene presence {0} in {1} because this region will attempt previous end-of-teleport close.",
|
||||||
|
sp.Name, Name);
|
||||||
|
|
||||||
|
sp.DoNotCloseAfterTeleport = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue