diff options
Diffstat (limited to 'OpenSim/Framework/AgentCircuitData.cs')
-rw-r--r-- | OpenSim/Framework/AgentCircuitData.cs | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs index 9c9b4b0..353e5bf 100644 --- a/OpenSim/Framework/AgentCircuitData.cs +++ b/OpenSim/Framework/AgentCircuitData.cs | |||
@@ -149,17 +149,19 @@ namespace OpenSim.Framework | |||
149 | args["base_folder"] = OSD.FromUUID(BaseFolder); | 149 | args["base_folder"] = OSD.FromUUID(BaseFolder); |
150 | args["caps_path"] = OSD.FromString(CapsPath); | 150 | args["caps_path"] = OSD.FromString(CapsPath); |
151 | 151 | ||
152 | OSDArray childrenSeeds = new OSDArray(ChildrenCapSeeds.Count); | 152 | if (ChildrenCapSeeds != null) |
153 | foreach (KeyValuePair<ulong, string> kvp in ChildrenCapSeeds) | ||
154 | { | 153 | { |
155 | OSDMap pair = new OSDMap(); | 154 | OSDArray childrenSeeds = new OSDArray(ChildrenCapSeeds.Count); |
156 | pair["handle"] = OSD.FromString(kvp.Key.ToString()); | 155 | foreach (KeyValuePair<ulong, string> kvp in ChildrenCapSeeds) |
157 | pair["seed"] = OSD.FromString(kvp.Value); | 156 | { |
158 | childrenSeeds.Add(pair); | 157 | OSDMap pair = new OSDMap(); |
158 | pair["handle"] = OSD.FromString(kvp.Key.ToString()); | ||
159 | pair["seed"] = OSD.FromString(kvp.Value); | ||
160 | childrenSeeds.Add(pair); | ||
161 | } | ||
162 | if (ChildrenCapSeeds.Count > 0) | ||
163 | args["children_seeds"] = childrenSeeds; | ||
159 | } | 164 | } |
160 | if (ChildrenCapSeeds.Count > 0) | ||
161 | args["children_seeds"] = childrenSeeds; | ||
162 | |||
163 | args["child"] = OSD.FromBoolean(child); | 165 | args["child"] = OSD.FromBoolean(child); |
164 | args["circuit_code"] = OSD.FromString(circuitcode.ToString()); | 166 | args["circuit_code"] = OSD.FromString(circuitcode.ToString()); |
165 | args["first_name"] = OSD.FromString(firstname); | 167 | args["first_name"] = OSD.FromString(firstname); |
@@ -167,6 +169,7 @@ namespace OpenSim.Framework | |||
167 | args["inventory_folder"] = OSD.FromUUID(InventoryFolder); | 169 | args["inventory_folder"] = OSD.FromUUID(InventoryFolder); |
168 | args["secure_session_id"] = OSD.FromUUID(SecureSessionID); | 170 | args["secure_session_id"] = OSD.FromUUID(SecureSessionID); |
169 | args["session_id"] = OSD.FromUUID(SessionID); | 171 | args["session_id"] = OSD.FromUUID(SessionID); |
172 | |||
170 | args["service_session_id"] = OSD.FromString(ServiceSessionID); | 173 | args["service_session_id"] = OSD.FromString(ServiceSessionID); |
171 | args["start_pos"] = OSD.FromString(startpos.ToString()); | 174 | args["start_pos"] = OSD.FromString(startpos.ToString()); |
172 | args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); | 175 | args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); |
@@ -250,6 +253,8 @@ namespace OpenSim.Framework | |||
250 | } | 253 | } |
251 | } | 254 | } |
252 | } | 255 | } |
256 | else | ||
257 | ChildrenCapSeeds = new Dictionary<ulong, string>(); | ||
253 | 258 | ||
254 | if (args["child"] != null) | 259 | if (args["child"] != null) |
255 | child = args["child"].AsBoolean(); | 260 | child = args["child"].AsBoolean(); |
@@ -267,6 +272,7 @@ namespace OpenSim.Framework | |||
267 | SessionID = args["session_id"].AsUUID(); | 272 | SessionID = args["session_id"].AsUUID(); |
268 | if (args["service_session_id"] != null) | 273 | if (args["service_session_id"] != null) |
269 | ServiceSessionID = args["service_session_id"].AsString(); | 274 | ServiceSessionID = args["service_session_id"].AsString(); |
275 | |||
270 | if (args["start_pos"] != null) | 276 | if (args["start_pos"] != null) |
271 | Vector3.TryParse(args["start_pos"].AsString(), out startpos); | 277 | Vector3.TryParse(args["start_pos"].AsString(), out startpos); |
272 | 278 | ||