aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Application/OpenSim.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs35
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs11
5 files changed, 45 insertions, 15 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs
index c85ff82..7a0142f 100644
--- a/OpenSim/Region/Application/OpenSim.cs
+++ b/OpenSim/Region/Application/OpenSim.cs
@@ -316,7 +316,7 @@ namespace OpenSim
316 m_console.Commands.AddCommand("region", false, "create region", 316 m_console.Commands.AddCommand("region", false, "create region",
317 "create region [\"region name\"] <region_file.ini>", 317 "create region [\"region name\"] <region_file.ini>",
318 "Create a new region.", 318 "Create a new region.",
319 "The settings for \"region name\" are read from <region_file.ini> in your Regions directory." 319 "The settings for \"region name\" are read from <region_file.ini>. Paths specified with <region_file.ini> are relative to your Regions directory, unless an absolute path is given."
320 + " If \"region name\" does not exist in <region_file.ini>, it will be added." + Environment.NewLine 320 + " If \"region name\" does not exist in <region_file.ini>, it will be added." + Environment.NewLine
321 + "Without \"region name\", the first region found in <region_file.ini> will be created." + Environment.NewLine 321 + "Without \"region name\", the first region found in <region_file.ini> will be created." + Environment.NewLine
322 + "If <region_file.ini> does not exist, it will be created.", 322 + "If <region_file.ini> does not exist, it will be created.",
diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
index 02f0968..ef5efdd 100644
--- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
@@ -237,9 +237,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
237 237
238 public virtual void OnChatBroadcast(Object sender, OSChatMessage c) 238 public virtual void OnChatBroadcast(Object sender, OSChatMessage c)
239 { 239 {
240 // unless the chat to be broadcast is of type Region, we 240 if (c.Channel != 0 && c.Channel != DEBUG_CHANNEL) return;
241 // drop it if its channel is neither 0 nor DEBUG_CHANNEL
242 if (c.Channel != 0 && c.Channel != DEBUG_CHANNEL && c.Type != ChatTypeEnum.Region) return;
243 241
244 ChatTypeEnum cType = c.Type; 242 ChatTypeEnum cType = c.Type;
245 if (c.Channel == DEBUG_CHANNEL) 243 if (c.Channel == DEBUG_CHANNEL)
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 994b9e3..b655f39 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -330,8 +330,12 @@ namespace OpenSim.Region.Framework.Scenes
330 get { return m_rootPart.UUID; } 330 get { return m_rootPart.UUID; }
331 set 331 set
332 { 332 {
333 m_rootPart.UUID = value; 333 lock (m_parts.SyncRoot)
334 m_parts.AddOrReplace(value, m_rootPart); 334 {
335 m_parts.Remove(m_rootPart.UUID);
336 m_rootPart.UUID = value;
337 m_parts.Add(value, m_rootPart);
338 }
335 } 339 }
336 } 340 }
337 341
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
index 54b3260..e6ff0c0 100644
--- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
+++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
@@ -189,5 +189,40 @@ namespace OpenSim.Region.Framework.Scenes.Tests
189 // SceneObjectPart retrievedPart = scene.GetSceneObjectPart(part.LocalId); 189 // SceneObjectPart retrievedPart = scene.GetSceneObjectPart(part.LocalId);
190 // Assert.That(retrievedPart, Is.Null); 190 // Assert.That(retrievedPart, Is.Null);
191 //} 191 //}
192
193 /// <summary>
194 /// Changing a scene object uuid changes the root part uuid. This is a valid operation if the object is not
195 /// in a scene and is useful if one wants to supply a UUID directly rather than use the one generated by
196 /// OpenSim.
197 /// </summary>
198 [Test]
199 public void TestChangeSceneObjectUuid()
200 {
201 string rootPartName = "rootpart";
202 UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001");
203 string childPartName = "childPart";
204 UUID childPartUuid = new UUID("00000000-0000-0000-0001-000000000000");
205
206 SceneObjectPart rootPart
207 = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
208 { Name = rootPartName, UUID = rootPartUuid };
209 SceneObjectPart linkPart
210 = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
211 { Name = childPartName, UUID = childPartUuid };
212
213 SceneObjectGroup sog = new SceneObjectGroup(rootPart);
214 sog.AddPart(linkPart);
215
216 Assert.That(sog.UUID, Is.EqualTo(rootPartUuid));
217 Assert.That(sog.RootPart.UUID, Is.EqualTo(rootPartUuid));
218 Assert.That(sog.Parts.Length, Is.EqualTo(2));
219
220 UUID newRootPartUuid = new UUID("00000000-0000-0000-0000-000000000002");
221 sog.UUID = newRootPartUuid;
222
223 Assert.That(sog.UUID, Is.EqualTo(newRootPartUuid));
224 Assert.That(sog.RootPart.UUID, Is.EqualTo(newRootPartUuid));
225 Assert.That(sog.Parts.Length, Is.EqualTo(2));
226 }
192 } 227 }
193} 228}
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
index a88c5e2..5fabbb0 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
@@ -957,7 +957,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
957 CacheKey = sb.ToString(); 957 CacheKey = sb.ToString();
958 m_memoryCache.TryGetValue(CacheKey, out resp); 958 m_memoryCache.TryGetValue(CacheKey, out resp);
959 } 959 }
960
961 } 960 }
962 961
963 if (resp == null) 962 if (resp == null)
@@ -965,22 +964,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
965 string UserService; 964 string UserService;
966 UUID SessionID; 965 UUID SessionID;
967 GetClientGroupRequestID(requestingAgentID, out UserService, out SessionID); 966 GetClientGroupRequestID(requestingAgentID, out UserService, out SessionID);
968 param.Add("requestingAgentID", requestingAgentID.ToString()); 967
968 param.Add("RequestingAgentID", requestingAgentID.ToString());
969 param.Add("RequestingAgentUserService", UserService); 969 param.Add("RequestingAgentUserService", UserService);
970 param.Add("RequestingSessionID", SessionID.ToString()); 970 param.Add("RequestingSessionID", SessionID.ToString());
971
972
973 param.Add("ReadKey", m_groupReadKey); 971 param.Add("ReadKey", m_groupReadKey);
974 param.Add("WriteKey", m_groupWriteKey); 972 param.Add("WriteKey", m_groupWriteKey);
975 973
976
977 IList parameters = new ArrayList(); 974 IList parameters = new ArrayList();
978 parameters.Add(param); 975 parameters.Add(param);
979 976
980 ConfigurableKeepAliveXmlRpcRequest req; 977 ConfigurableKeepAliveXmlRpcRequest req;
981 req = new ConfigurableKeepAliveXmlRpcRequest(function, parameters, m_disableKeepAlive); 978 req = new ConfigurableKeepAliveXmlRpcRequest(function, parameters, m_disableKeepAlive);
982 979
983
984 try 980 try
985 { 981 {
986 resp = req.Send(m_groupsServerURI, 10000); 982 resp = req.Send(m_groupsServerURI, 10000);
@@ -989,7 +985,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
989 { 985 {
990 m_memoryCache.AddOrUpdate(CacheKey, resp, TimeSpan.FromSeconds(m_cacheTimeout)); 986 m_memoryCache.AddOrUpdate(CacheKey, resp, TimeSpan.FromSeconds(m_cacheTimeout));
991 } 987 }
992
993 } 988 }
994 catch (Exception e) 989 catch (Exception e)
995 { 990 {
@@ -1058,10 +1053,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1058 { 1053 {
1059 m_log.ErrorFormat("[XMLRPC-GROUPS-CONNECTOR]: {0}", line); 1054 m_log.ErrorFormat("[XMLRPC-GROUPS-CONNECTOR]: {0}", line);
1060 } 1055 }
1061
1062 } 1056 }
1063 } 1057 }
1064
1065 1058
1066 /// <summary> 1059 /// <summary>
1067 /// Group Request Tokens are an attempt to allow the groups service to authenticate 1060 /// Group Request Tokens are an attempt to allow the groups service to authenticate