diff options
Temporary fix for the region crossing crash, Although we need to start to change and improve how we handle caps.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Communications/Local/LocalLoginService.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 3 |
3 files changed, 6 insertions, 4 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs index 661fbbe..88377bc 100644 --- a/OpenSim/Region/Communications/Local/LocalLoginService.cs +++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs | |||
@@ -89,7 +89,6 @@ namespace OpenSim.Region.Communications.Local | |||
89 | response.RegionX = reg.RegionLocX; | 89 | response.RegionX = reg.RegionLocX; |
90 | response.RegionY = reg.RegionLocY; | 90 | response.RegionY = reg.RegionLocY; |
91 | 91 | ||
92 | //following port needs changing as we don't want a http listener for every region (or do we?) | ||
93 | response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CAPS/" + capsPath + "0000/"; | 92 | response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CAPS/" + capsPath + "0000/"; |
94 | theUser.currentAgent.currentRegion = reg.SimUUID; | 93 | theUser.currentAgent.currentRegion = reg.SimUUID; |
95 | theUser.currentAgent.currentHandle = reg.RegionHandle; | 94 | theUser.currentAgent.currentHandle = reg.RegionHandle; |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 0fa3ab7..3ee1f19 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -36,6 +36,7 @@ using OpenSim.Framework.Console; | |||
36 | using OpenSim.Framework.Interfaces; | 36 | using OpenSim.Framework.Interfaces; |
37 | using OpenSim.Framework.Servers; | 37 | using OpenSim.Framework.Servers; |
38 | using OpenSim.Framework.Types; | 38 | using OpenSim.Framework.Types; |
39 | using OpenSim.Framework.Utilities; | ||
39 | using OpenSim.Physics.Manager; | 40 | using OpenSim.Physics.Manager; |
40 | using OpenSim.Framework.Communications.Caches; | 41 | using OpenSim.Framework.Communications.Caches; |
41 | using OpenSim.Region.Environment.LandManagement; | 42 | using OpenSim.Region.Environment.LandManagement; |
@@ -836,6 +837,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
836 | Caps cap = | 837 | Caps cap = |
837 | new Caps(assetCache, httpListener, m_regInfo.ExternalHostName, m_regInfo.ExternalEndPoint.Port, | 838 | new Caps(assetCache, httpListener, m_regInfo.ExternalHostName, m_regInfo.ExternalEndPoint.Port, |
838 | agent.CapsPath, agent.AgentID); | 839 | agent.CapsPath, agent.AgentID); |
840 | Util.SetCapsURL(agent.AgentID, "http://" + m_regInfo.ExternalHostName + ":" + httpListener.Port.ToString() + "/CAPS/" + agent.CapsPath + "0000/"); | ||
839 | cap.RegisterHandlers(); | 841 | cap.RegisterHandlers(); |
840 | cap.AddNewInventoryItem = this.AddInventoryItem; | 842 | cap.AddNewInventoryItem = this.AddInventoryItem; |
841 | cap.ItemUpdatedCall = this.UpdateInventoryItemAsset; | 843 | cap.ItemUpdatedCall = this.UpdateInventoryItemAsset; |
@@ -948,7 +950,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
948 | 950 | ||
949 | //TODO: following line is hard coded to port 9000, really need to change this as soon as possible | 951 | //TODO: following line is hard coded to port 9000, really need to change this as soon as possible |
950 | AgentCircuitData circuitdata = remoteClient.RequestClientInfo(); | 952 | AgentCircuitData circuitdata = remoteClient.RequestClientInfo(); |
951 | string capsPath = "http://" + reg.ExternalEndPoint.Address.ToString() + ":9000/CAPS/" + this.AuthenticateHandler.AgentCircuits[circuitdata.circuitcode].CapsPath + "0000/"; | 953 | string capsPath = Util.GetCapsURL(remoteClient.AgentId); |
952 | remoteClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), capsPath); | 954 | remoteClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), capsPath); |
953 | } | 955 | } |
954 | } | 956 | } |
@@ -1111,7 +1113,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1111 | item.assetID = asset.FullID; | 1113 | item.assetID = asset.FullID; |
1112 | userInfo.updateItem(remoteClient.AgentId, item); | 1114 | userInfo.updateItem(remoteClient.AgentId, item); |
1113 | 1115 | ||
1114 | remoteClient.SendInventoryItemUpdate(item); | 1116 | // remoteClient.SendInventoryItemUpdate(item); |
1115 | 1117 | ||
1116 | return (asset.FullID); | 1118 | return (asset.FullID); |
1117 | } | 1119 | } |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 1be1e7a..6e4fcda 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -34,6 +34,7 @@ using libsecondlife.Packets; | |||
34 | using OpenSim.Framework.Console; | 34 | using OpenSim.Framework.Console; |
35 | using OpenSim.Framework.Interfaces; | 35 | using OpenSim.Framework.Interfaces; |
36 | using OpenSim.Framework.Types; | 36 | using OpenSim.Framework.Types; |
37 | using OpenSim.Framework.Utilities; | ||
37 | using OpenSim.Physics.Manager; | 38 | using OpenSim.Physics.Manager; |
38 | 39 | ||
39 | namespace OpenSim.Region.Environment.Scenes | 40 | namespace OpenSim.Region.Environment.Scenes |
@@ -623,7 +624,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
623 | { | 624 | { |
624 | //TODO: following line is hard coded to port 9000, really need to change this as soon as possible | 625 | //TODO: following line is hard coded to port 9000, really need to change this as soon as possible |
625 | AgentCircuitData circuitdata = this.ControllingClient.RequestClientInfo(); | 626 | AgentCircuitData circuitdata = this.ControllingClient.RequestClientInfo(); |
626 | string capsPath = "http://" + neighbourRegion.ExternalEndPoint.Address.ToString() + ":9000/CAPS/" +this.m_scene.AuthenticateHandler.AgentCircuits[circuitdata.circuitcode].CapsPath + "0000/"; | 627 | string capsPath = Util.GetCapsURL(this.ControllingClient.AgentId); |
627 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, capsPath); | 628 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, capsPath); |
628 | this.MakeChildAgent(); | 629 | this.MakeChildAgent(); |
629 | } | 630 | } |