aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorDiva Canto2013-07-13 09:46:58 -0700
committerDiva Canto2013-07-13 09:46:58 -0700
commita412b1d6823141129bef3ab906c6590eb6a81c72 (patch)
tree95398de72d494bb32c710d43ab2b253d972fc6fe /OpenSim/Region/ClientStack
parentAdded UploadBakedTexture/UploadBakedTextureServerConnector, so that this can ... (diff)
downloadopensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.zip
opensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.tar.gz
opensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.tar.bz2
opensim-SC_OLD-a412b1d6823141129bef3ab906c6590eb6a81c72.tar.xz
Moved SendInitialDataToMe to earlier in CompleteMovement. Moved TriggerOnMakeRootAgent to the end of CompleteMovement.
Justin, if you read this, there's a long story here. Some time ago you placed SendInitialDataToMe at the very beginning of client creation (in LLUDPServer). That is problematic, as we discovered relatively recently: on TPs, as soon as the client starts getting data from child agents, it starts requesting resources back *from the simulator where its root agent is*. We found this to be the problem behind meshes missing on HG TPs (because the viewer was requesting the meshes of the receiving sim from the departing grid). But this affects much more than meshes and HG TPs. It may also explain cloud avatars after a local TP: baked textures are only stored in the simulator, so if a child agent receives a UUID of a baked texture in the destination sim and requests that texture from the departing sim where the root agent is, it will fail to get that texture. Bottom line: we need to delay sending the new simulator data to the viewer until we are absolutely sure that the viewer knows that its main agent is in a new sim. Hence, moving it to CompleteMovement. Now I am trying to tune the initial rez delay that we all experience in the CC. I think that when I fixed the issue described above, I may have moved SendInitialDataToMe to much later than it should be, so now I'm moving to earlier in CompleteMovement.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs2
1 files changed, 1 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 2aab4f9..85270a6 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -1469,7 +1469,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1469 { 1469 {
1470 AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(uccp.CircuitCode.Code); 1470 AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(uccp.CircuitCode.Code);
1471 bool tp = (aCircuit.teleportFlags > 0); 1471 bool tp = (aCircuit.teleportFlags > 0);
1472 // Let's delay this for TP agents, otherwise the viewer doesn't know where to get meshes from 1472 // Let's delay this for TP agents, otherwise the viewer doesn't know where to get resources from
1473 if (!tp) 1473 if (!tp)
1474 client.SceneAgent.SendInitialDataToMe(); 1474 client.SceneAgent.SendInitialDataToMe();
1475 } 1475 }