diff options
author | Justin Clark-Casey (justincc) | 2011-02-12 01:08:56 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-02-12 01:08:56 +0000 |
commit | 03d82a5a8524cfba07d95456d59be6f35ab72048 (patch) | |
tree | c0d85bd5990cbb126c276e3b0b369afcfe72f4ce | |
parent | Hack in a crude temporary "estate show" command (diff) | |
download | opensim-SC_OLD-03d82a5a8524cfba07d95456d59be6f35ab72048.zip opensim-SC_OLD-03d82a5a8524cfba07d95456d59be6f35ab72048.tar.gz opensim-SC_OLD-03d82a5a8524cfba07d95456d59be6f35ab72048.tar.bz2 opensim-SC_OLD-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.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 12 |
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 |