From 0c81966c0a8f69474fb542d7b4df1780ef756519 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 29 Jan 2010 09:12:22 -0800 Subject: Works for grid login. --- OpenSim/Framework/AgentCircuitData.cs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'OpenSim/Framework/AgentCircuitData.cs') 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 args["base_folder"] = OSD.FromUUID(BaseFolder); args["caps_path"] = OSD.FromString(CapsPath); - OSDArray childrenSeeds = new OSDArray(ChildrenCapSeeds.Count); - foreach (KeyValuePair kvp in ChildrenCapSeeds) + if (ChildrenCapSeeds != null) { - OSDMap pair = new OSDMap(); - pair["handle"] = OSD.FromString(kvp.Key.ToString()); - pair["seed"] = OSD.FromString(kvp.Value); - childrenSeeds.Add(pair); + OSDArray childrenSeeds = new OSDArray(ChildrenCapSeeds.Count); + foreach (KeyValuePair kvp in ChildrenCapSeeds) + { + OSDMap pair = new OSDMap(); + pair["handle"] = OSD.FromString(kvp.Key.ToString()); + pair["seed"] = OSD.FromString(kvp.Value); + childrenSeeds.Add(pair); + } + if (ChildrenCapSeeds.Count > 0) + args["children_seeds"] = childrenSeeds; } - if (ChildrenCapSeeds.Count > 0) - args["children_seeds"] = childrenSeeds; - args["child"] = OSD.FromBoolean(child); args["circuit_code"] = OSD.FromString(circuitcode.ToString()); args["first_name"] = OSD.FromString(firstname); @@ -167,6 +169,7 @@ namespace OpenSim.Framework args["inventory_folder"] = OSD.FromUUID(InventoryFolder); args["secure_session_id"] = OSD.FromUUID(SecureSessionID); args["session_id"] = OSD.FromUUID(SessionID); + args["service_session_id"] = OSD.FromString(ServiceSessionID); args["start_pos"] = OSD.FromString(startpos.ToString()); args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); @@ -250,6 +253,8 @@ namespace OpenSim.Framework } } } + else + ChildrenCapSeeds = new Dictionary(); if (args["child"] != null) child = args["child"].AsBoolean(); @@ -267,6 +272,7 @@ namespace OpenSim.Framework SessionID = args["session_id"].AsUUID(); if (args["service_session_id"] != null) ServiceSessionID = args["service_session_id"].AsString(); + if (args["start_pos"] != null) Vector3.TryParse(args["start_pos"].AsString(), out startpos); -- cgit v1.1