diff --git a/OpenSim/Framework/ConfigurationMember.cs b/OpenSim/Framework/ConfigurationMember.cs index b452794249..cb434f0844 100644 --- a/OpenSim/Framework/ConfigurationMember.cs +++ b/OpenSim/Framework/ConfigurationMember.cs @@ -368,6 +368,19 @@ namespace OpenSim.Framework } errorMessage = "a UUID (LLUUID)"; break; + case ConfigurationOption.ConfigurationTypes.TYPE_LLUUID_NULL_FREE: + LLUUID uuidResult2; + if (LLUUID.TryParse(console_result, out uuidResult2)) + { + convertSuccess = true; + + if (uuidResult2 == LLUUID.Zero) + uuidResult2 = LLUUID.Random(); + + return_result = uuidResult2; + } + errorMessage = "a non-null UUID (LLUUID)"; + break; case ConfigurationOption.ConfigurationTypes.TYPE_LLVECTOR3: LLVector3 vectorResult; if (LLVector3.TryParse(console_result, out vectorResult)) diff --git a/OpenSim/Framework/ConfigurationOption.cs b/OpenSim/Framework/ConfigurationOption.cs index 9bb5d8fb6a..341d5e8bbd 100644 --- a/OpenSim/Framework/ConfigurationOption.cs +++ b/OpenSim/Framework/ConfigurationOption.cs @@ -54,6 +54,7 @@ namespace OpenSim.Framework TYPE_BOOLEAN, TYPE_BYTE, TYPE_LLUUID, + TYPE_LLUUID_NULL_FREE, TYPE_LLVECTOR3, TYPE_FLOAT, TYPE_DOUBLE diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index d9d41d67f7..9c27891bd7 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs @@ -345,7 +345,7 @@ namespace OpenSim.Framework public void loadConfigurationOptionsFromMe() { - configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, + configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID_NULL_FREE, "UUID of Region (Default is recommended, random UUID)", RegionID.ToString(), true); configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,