aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie2013-05-08 21:14:52 +0100
committerMelanie2013-05-08 21:14:52 +0100
commit543d1fe70b54fb26d7ce19b397468c66269f0e20 (patch)
tree14cda2d0364fad3f54d0474bda6f1f9afca72c7d /OpenSim/Region/CoreModules
parentAdds an event and a method so that handling of the CachedTexture (diff)
downloadopensim-SC-543d1fe70b54fb26d7ce19b397468c66269f0e20.zip
opensim-SC-543d1fe70b54fb26d7ce19b397468c66269f0e20.tar.gz
opensim-SC-543d1fe70b54fb26d7ce19b397468c66269f0e20.tar.bz2
opensim-SC-543d1fe70b54fb26d7ce19b397468c66269f0e20.tar.xz
Guard the scene list when estates are updated
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/XEstateConnector.cs17
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/XEstateModule.cs6
2 files changed, 14 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/World/Estate/XEstateConnector.cs b/OpenSim/Region/CoreModules/World/Estate/XEstateConnector.cs
index 948c893..73e706c 100644
--- a/OpenSim/Region/CoreModules/World/Estate/XEstateConnector.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/XEstateConnector.cs
@@ -136,15 +136,18 @@ namespace OpenSim.Region.CoreModules.World.Estate
136 136
137 // Handle local regions locally 137 // Handle local regions locally
138 // 138 //
139 foreach (Scene s in m_EstateModule.Scenes) 139 lock (m_EstateModule.Scenes)
140 { 140 {
141 if (regions.Contains(s.RegionInfo.RegionID)) 141 foreach (Scene s in m_EstateModule.Scenes)
142 { 142 {
143 // All regions in one estate are in the same scope. 143 if (regions.Contains(s.RegionInfo.RegionID))
144 // Use that scope. 144 {
145 // 145 // All regions in one estate are in the same scope.
146 ScopeID = s.RegionInfo.ScopeID; 146 // Use that scope.
147 regions.Remove(s.RegionInfo.RegionID); 147 //
148 ScopeID = s.RegionInfo.ScopeID;
149 regions.Remove(s.RegionInfo.RegionID);
150 }
148 } 151 }
149 } 152 }
150 153
diff --git a/OpenSim/Region/CoreModules/World/Estate/XEstateModule.cs b/OpenSim/Region/CoreModules/World/Estate/XEstateModule.cs
index 1f099c6..f54ab2c 100644
--- a/OpenSim/Region/CoreModules/World/Estate/XEstateModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/XEstateModule.cs
@@ -93,7 +93,8 @@ namespace OpenSim.Region.CoreModules.World.Estate
93 93
94 public void AddRegion(Scene scene) 94 public void AddRegion(Scene scene)
95 { 95 {
96 m_Scenes.Add(scene); 96 lock (m_Scenes)
97 m_Scenes.Add(scene);
97 98
98 scene.EventManager.OnNewClient += OnNewClient; 99 scene.EventManager.OnNewClient += OnNewClient;
99 } 100 }
@@ -111,7 +112,8 @@ namespace OpenSim.Region.CoreModules.World.Estate
111 { 112 {
112 scene.EventManager.OnNewClient -= OnNewClient; 113 scene.EventManager.OnNewClient -= OnNewClient;
113 114
114 m_Scenes.Remove(scene); 115 lock (m_Scenes)
116 m_Scenes.Remove(scene);
115 } 117 }
116 118
117 public string Name 119 public string Name