On ScenePresence.MakeChildAgent(), reset the m_originRegionID as this is currently being used as a flag to orchestrate destination simulator threads on teleport.

If not reset, it's possible that teleports back and forth between simulators may not restart scripts in attachments.
bullet-2.82
Justin Clark-Casey (justincc) 2014-05-14 22:08:06 +01:00
parent 2f7539a25b
commit 7c12dfe185
1 changed files with 5 additions and 0 deletions

View File

@ -1328,6 +1328,11 @@ namespace OpenSim.Region.Framework.Scenes
m_log.DebugFormat("[SCENE PRESENCE]: Making {0} a child agent in {1}", Name, Scene.RegionInfo.RegionName);
// Reset the m_originRegionID as it has dual use as a flag to signal that the UpdateAgent() call orignating
// from the source simulator has completed on a V2 teleport.
lock (m_originRegionIDAccessLock)
m_originRegionID = UUID.Zero;
// Reset these so that teleporting in and walking out isn't seen
// as teleporting back
TeleportFlags = TeleportFlags.Default;