aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-02-12 01:08:56 +0000
committerJustin Clark-Casey (justincc)2011-02-12 01:08:56 +0000
commit03d82a5a8524cfba07d95456d59be6f35ab72048 (patch)
treec0d85bd5990cbb126c276e3b0b369afcfe72f4ce
parentHack in a crude temporary "estate show" command (diff)
downloadopensim-SC-03d82a5a8524cfba07d95456d59be6f35ab72048.zip
opensim-SC-03d82a5a8524cfba07d95456d59be6f35ab72048.tar.gz
opensim-SC-03d82a5a8524cfba07d95456d59be6f35ab72048.tar.bz2
opensim-SC-03d82a5a8524cfba07d95456d59be6f35ab72048.tar.xz
Fix bug where "My estate" name was always used even if the user entered a different name on initial setup.
Turns out we had stopped saving estate settings immediately after the name change. The scene constructor then reloade the settings and oblitereted the different name. This code could be more efficient since there's no reason for scene to reload the settings when they are already known to be valid. Thanks to Thoneve for the spot on this.
-rw-r--r--OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs2
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs12
2 files changed, 10 insertions, 4 deletions
diff --git a/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs b/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs
index 7ef0f5f..f37c399 100644
--- a/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs
+++ b/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs
@@ -122,9 +122,11 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
122 m_log.Debug("[LOADREGIONS]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " + 122 m_log.Debug("[LOADREGIONS]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " +
123 Thread.CurrentThread.ManagedThreadId.ToString() + 123 Thread.CurrentThread.ManagedThreadId.ToString() +
124 ")"); 124 ")");
125
125 m_openSim.PopulateRegionEstateInfo(regionsToLoad[i]); 126 m_openSim.PopulateRegionEstateInfo(regionsToLoad[i]);
126 m_openSim.CreateRegion(regionsToLoad[i], true, out scene); 127 m_openSim.CreateRegion(regionsToLoad[i], true, out scene);
127 regionsToLoad[i].EstateSettings.Save(); 128 regionsToLoad[i].EstateSettings.Save();
129
128 if (scene != null) 130 if (scene != null)
129 { 131 {
130 m_newRegionCreatedHandler = OnNewRegionCreated; 132 m_newRegionCreatedHandler = OnNewRegionCreated;
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 1652b82..e950613 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -795,9 +795,7 @@ namespace OpenSim
795 /// <summary> 795 /// <summary>
796 /// Load the estate information for the provided RegionInfo object. 796 /// Load the estate information for the provided RegionInfo object.
797 /// </summary> 797 /// </summary>
798 /// <param name="regInfo"> 798 /// <param name="regInfo"></param>
799 /// A <see cref="RegionInfo"/>
800 /// </param>
801 public void PopulateRegionEstateInfo(RegionInfo regInfo) 799 public void PopulateRegionEstateInfo(RegionInfo regInfo)
802 { 800 {
803 IEstateDataService estateDataService = EstateDataService; 801 IEstateDataService estateDataService = EstateDataService;
@@ -819,7 +817,13 @@ namespace OpenSim
819 regInfo.EstateSettings = estateDataService.LoadEstateSettings(regInfo.RegionID, true); 817 regInfo.EstateSettings = estateDataService.LoadEstateSettings(regInfo.RegionID, true);
820 818
821 regInfo.EstateSettings.EstateName = MainConsole.Instance.CmdPrompt("New estate name", regInfo.EstateSettings.EstateName); 819 regInfo.EstateSettings.EstateName = MainConsole.Instance.CmdPrompt("New estate name", regInfo.EstateSettings.EstateName);
822 //regInfo.EstateSettings.Save(); 820
821 // FIXME: Later on, the scene constructor will reload the estate settings no matter what.
822 // Therefore, we need to do an initial save here otherwise the new estate name will be reset
823 // back to the default. The reloading of estate settings by scene could be eliminated if it
824 // knows that the passed in settings in RegionInfo are already valid. Also, it might be
825 // possible to eliminate some additional later saves made by callers of this method.
826 regInfo.EstateSettings.Save();
823 break; 827 break;
824 } 828 }
825 else 829 else