Second take at HGTP-mesh bug: delay sending the initial data only for agents that are coming via TP (root agents)

user_profiles
Diva Canto 2013-05-14 09:06:58 -07:00
parent 645da54f25
commit 91091c3e54
2 changed files with 8 additions and 1 deletions

View File

@ -1373,8 +1373,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// We only want to send initial data to new clients, not ones which are being converted from child to root.
if (client != null)
{
AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(uccp.CircuitCode.Code);
bool tp = (aCircuit.teleportFlags > 0);
// Let's delay this for TP agents, otherwise the viewer doesn't know where to get meshes from
if (!tp)
client.SceneAgent.SendInitialDataToMe();
}
}
else
{
// Don't create clients for unauthorized requesters.

View File

@ -1348,6 +1348,7 @@ namespace OpenSim.Region.Framework.Scenes
// Create child agents in neighbouring regions
if (openChildAgents && !IsChildAgent)
{
SendInitialDataToMe();
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
if (m_agentTransfer != null)
Util.FireAndForget(delegate { m_agentTransfer.EnableChildAgents(this); });