aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorSignpostMarv2012-07-27 22:15:25 +0100
committerJustin Clark-Casey (justincc)2012-07-27 23:40:19 +0100
commitadbdb220df4aacc93e81eeb2eb1854825e4db7fb (patch)
tree84b256f94485b99a90483c95a36d7fd83efffaf7 /OpenSim/Framework
parentadding asset cache and map tile directories to .gitignore (diff)
downloadopensim-SC-adbdb220df4aacc93e81eeb2eb1854825e4db7fb.zip
opensim-SC-adbdb220df4aacc93e81eeb2eb1854825e4db7fb.tar.gz
opensim-SC-adbdb220df4aacc93e81eeb2eb1854825e4db7fb.tar.bz2
opensim-SC-adbdb220df4aacc93e81eeb2eb1854825e4db7fb.tar.xz
making first run more resilient to bad input (loop until good input, rather than crash)
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/RegionInfo.cs26
1 files changed, 19 insertions, 7 deletions
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index a505524..2080a16 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -480,9 +480,16 @@ namespace OpenSim.Framework
480 MainConsole.Instance.Output("=====================================\n"); 480 MainConsole.Instance.Output("=====================================\n");
481 481
482 if (name == String.Empty) 482 if (name == String.Empty)
483 name = MainConsole.Instance.CmdPrompt("New region name", name); 483 {
484 if (name == String.Empty) 484 while (name.Trim() == string.Empty)
485 throw new Exception("Cannot interactively create region with no name"); 485 {
486 name = MainConsole.Instance.CmdPrompt("New region name", name);
487 if (name.Trim() == string.Empty)
488 {
489 MainConsole.Instance.Output("Cannot interactively create region with no name");
490 }
491 }
492 }
486 493
487 source.AddConfig(name); 494 source.AddConfig(name);
488 495
@@ -513,15 +520,20 @@ namespace OpenSim.Framework
513 // 520 //
514 allKeys.Remove("RegionUUID"); 521 allKeys.Remove("RegionUUID");
515 string regionUUID = config.GetString("RegionUUID", string.Empty); 522 string regionUUID = config.GetString("RegionUUID", string.Empty);
516 if (regionUUID == String.Empty) 523 if (!UUID.TryParse(regionUUID.Trim(), out RegionID))
517 { 524 {
518 UUID newID = UUID.Random(); 525 UUID newID = UUID.Random();
519 526 while (RegionID == UUID.Zero)
520 regionUUID = MainConsole.Instance.CmdPrompt("RegionUUID", newID.ToString()); 527 {
528 regionUUID = MainConsole.Instance.CmdPrompt("RegionUUID", newID.ToString());
529 if (!UUID.TryParse(regionUUID.Trim(), out RegionID))
530 {
531 MainConsole.Instance.Output("RegionUUID must be a valid UUID");
532 }
533 }
521 config.Set("RegionUUID", regionUUID); 534 config.Set("RegionUUID", regionUUID);
522 } 535 }
523 536
524 RegionID = new UUID(regionUUID);
525 originRegionID = RegionID; // What IS this?! (Needed for RegionCombinerModule?) 537 originRegionID = RegionID; // What IS this?! (Needed for RegionCombinerModule?)
526 538
527 // Location 539 // Location