aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs17
1 files changed, 13 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index c6a1614..27e492b 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -29,6 +29,7 @@ using System.Collections.Generic;
29using System.IO; 29using System.IO;
30using System.Reflection; 30using System.Reflection;
31using System.Security; 31using System.Security;
32using System.Timers;
32using log4net; 33using log4net;
33using Nini.Config; 34using Nini.Config;
34using OpenMetaverse; 35using OpenMetaverse;
@@ -45,6 +46,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
45 private delegate void LookupUUIDS(List<UUID> uuidLst); 46 private delegate void LookupUUIDS(List<UUID> uuidLst);
46 47
47 private Scene m_scene; 48 private Scene m_scene;
49 private Timer m_regionChangeTimer = new Timer();
48 50
49 private EstateTerrainXferHandler TerrainUploader; 51 private EstateTerrainXferHandler TerrainUploader;
50 52
@@ -898,6 +900,9 @@ namespace OpenSim.Region.CoreModules.World.Estate
898 m_scene.RegisterModuleInterface<IEstateModule>(this); 900 m_scene.RegisterModuleInterface<IEstateModule>(this);
899 m_scene.EventManager.OnNewClient += EventManager_OnNewClient; 901 m_scene.EventManager.OnNewClient += EventManager_OnNewClient;
900 m_scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight; 902 m_scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight;
903 m_regionChangeTimer.AutoReset = false;
904 m_regionChangeTimer.Interval = 2000;
905 m_regionChangeTimer.Elapsed += RaiseRegionInfoChange;
901 906
902 m_scene.AddCommand(this, "set terrain texture", 907 m_scene.AddCommand(this, "set terrain texture",
903 "set terrain texture <number> <uuid> [<x>] [<y>]", 908 "set terrain texture <number> <uuid> [<x>] [<y>]",
@@ -949,8 +954,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
949 break; 954 break;
950 } 955 }
951 m_scene.RegionInfo.RegionSettings.Save(); 956 m_scene.RegionInfo.RegionSettings.Save();
952 //TriggerRegionInfoChange(); 957 TriggerRegionInfoChange();
953 TriggerEstateInfoChange();
954 sendRegionInfoPacketToAll(); 958 sendRegionInfoPacketToAll();
955 959
956 } 960 }
@@ -996,8 +1000,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
996 break; 1000 break;
997 } 1001 }
998 m_scene.RegionInfo.RegionSettings.Save(); 1002 m_scene.RegionInfo.RegionSettings.Save();
999 //TriggerRegionInfoChange(); 1003 TriggerRegionInfoChange();
1000 TriggerEstateInfoChange();
1001 sendRegionHandshakeToAll(); 1004 sendRegionHandshakeToAll();
1002 } 1005 }
1003 } 1006 }
@@ -1170,6 +1173,12 @@ namespace OpenSim.Region.CoreModules.World.Estate
1170 1173
1171 protected void TriggerRegionInfoChange() 1174 protected void TriggerRegionInfoChange()
1172 { 1175 {
1176 m_regionChangeTimer.Stop();
1177 m_regionChangeTimer.Start();
1178 }
1179
1180 protected void RaiseRegionInfoChange(object sender, ElapsedEventArgs e)
1181 {
1173 ChangeDelegate change = OnRegionInfoChange; 1182 ChangeDelegate change = OnRegionInfoChange;
1174 1183
1175 if (change != null) 1184 if (change != null)