some teleport issues..
parent
075ebf3524
commit
e96e923159
|
@ -4513,8 +4513,7 @@ Label_GroupsDone:
|
||||||
"[SCENE]: update for {0} in {1} refused: Logins Disabled", cAgentData.AgentID, RegionInfo.RegionName);
|
"[SCENE]: update for {0} in {1} refused: Logins Disabled", cAgentData.AgentID, RegionInfo.RegionName);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// We have to wait until the viewer contacts this region after receiving EAC.
|
|
||||||
// That calls AddNewClient, which finally creates the ScenePresence
|
|
||||||
int flags = GetUserFlags(cAgentData.AgentID);
|
int flags = GetUserFlags(cAgentData.AgentID);
|
||||||
if (RegionInfo.EstateSettings.IsBanned(cAgentData.AgentID, flags))
|
if (RegionInfo.EstateSettings.IsBanned(cAgentData.AgentID, flags))
|
||||||
{
|
{
|
||||||
|
@ -4551,32 +4550,26 @@ Label_GroupsDone:
|
||||||
if (cAgentData.SessionID != sp.ControllingClient.SessionId)
|
if (cAgentData.SessionID != sp.ControllingClient.SessionId)
|
||||||
{
|
{
|
||||||
m_log.WarnFormat(
|
m_log.WarnFormat(
|
||||||
"[SCENE]: Attempt to update agent {0} with invalid session id {1} (possibly from simulator in older version; tell them to update).",
|
"[SCENE]: Attempt to update agent {0} with diferent session id {1} != {2}",
|
||||||
sp.UUID, cAgentData.SessionID);
|
sp.UUID, sp.ControllingClient.SessionId, cAgentData.SessionID);
|
||||||
|
return false;
|
||||||
Console.WriteLine(String.Format("[SCENE]: Attempt to update agent {0} ({1}) with invalid session id {2}",
|
|
||||||
sp.UUID, sp.ControllingClient.SessionId, cAgentData.SessionID));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sp.UpdateChildAgent(cAgentData);
|
sp.UpdateChildAgent(cAgentData);
|
||||||
|
|
||||||
int ntimes = 20;
|
int ntimes = 100;
|
||||||
if (cAgentData.SenderWantsToWaitForRoot)
|
if (cAgentData.SenderWantsToWaitForRoot)
|
||||||
{
|
{
|
||||||
while (sp.IsChildAgent && ntimes-- > 0)
|
while (sp.IsChildAgent && ntimes-- > 0)
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(250);
|
||||||
|
|
||||||
if (sp.IsChildAgent)
|
if (sp.IsChildAgent)
|
||||||
|
{
|
||||||
m_log.WarnFormat(
|
m_log.WarnFormat(
|
||||||
"[SCENE]: Found presence {0} {1} unexpectedly still child in {2}",
|
"[SCENE]: Found presence {0} {1} unexpectedly still child in {2}",
|
||||||
sp.Name, sp.UUID, Name);
|
sp.Name, sp.UUID, Name);
|
||||||
else
|
|
||||||
m_log.InfoFormat(
|
|
||||||
"[SCENE]: Found presence {0} {1} as root in {2} after {3} waits",
|
|
||||||
sp.Name, sp.UUID, Name, 20 - ntimes);
|
|
||||||
|
|
||||||
if (sp.IsChildAgent)
|
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1559,6 +1559,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public void MakeChildAgent(ulong newRegionHandle)
|
public void MakeChildAgent(ulong newRegionHandle)
|
||||||
{
|
{
|
||||||
|
m_updateAgentReceivedAfterTransferEvent.Reset();
|
||||||
haveGroupInformation = false;
|
haveGroupInformation = false;
|
||||||
gotCrossUpdate = false;
|
gotCrossUpdate = false;
|
||||||
crossingFlags = 0;
|
crossingFlags = 0;
|
||||||
|
@ -2000,6 +2001,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
m_updateAgentReceivedAfterTransferEvent.Reset();
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2286,8 +2291,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
if (m_attachments.Count > 0)
|
if (m_attachments.Count > 0)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
"[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name);
|
// "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name);
|
||||||
|
|
||||||
foreach (SceneObjectGroup sog in m_attachments)
|
foreach (SceneObjectGroup sog in m_attachments)
|
||||||
{
|
{
|
||||||
|
@ -5713,6 +5718,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
IgnoredControls = ScriptControlled.CONTROL_ZERO;
|
IgnoredControls = ScriptControlled.CONTROL_ZERO;
|
||||||
obj.eventControls = (ScriptControlled)controls;
|
obj.eventControls = (ScriptControlled)controls;
|
||||||
|
obj.ignoreControls = ScriptControlled.CONTROL_ZERO;
|
||||||
}
|
}
|
||||||
|
|
||||||
lock (scriptedcontrols)
|
lock (scriptedcontrols)
|
||||||
|
|
Loading…
Reference in New Issue