From 9d93c4808e0a0171bcb43fc551f3fb37b684c499 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 30 Jan 2012 19:21:58 +0000
Subject: lock SceneObjectGroupsByFullID in SceneGraph.ForEachSOG() to stop
failure if SceneObjectGroupsByFullID is updated elsewhere at the same time.
---
OpenSim/Region/Framework/Scenes/SceneGraph.cs | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 7f18140..36a454e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1137,8 +1137,10 @@ namespace OpenSim.Region.Framework.Scenes
///
protected internal void ForEachSOG(Action action)
{
- // FIXME: Need to lock here, really.
- List objlist = new List(SceneObjectGroupsByFullID.Values);
+ List objlist;
+ lock (SceneObjectGroupsByFullID)
+ objlist = new List(SceneObjectGroupsByFullID.Values);
+
foreach (SceneObjectGroup obj in objlist)
{
try
@@ -1147,7 +1149,7 @@ namespace OpenSim.Region.Framework.Scenes
}
catch (Exception e)
{
- // Catch it and move on. This includes situations where splist has inconsistent info
+ // Catch it and move on. This includes situations where objlist has inconsistent info
m_log.WarnFormat(
"[SCENEGRAPH]: Problem processing action in ForEachSOG: {0} {1}", e.Message, e.StackTrace);
}
@@ -1382,10 +1384,10 @@ namespace OpenSim.Region.Framework.Scenes
///
/// Update the texture entry of the given prim.
///
- ///
+ ///
/// A texture entry is an object that contains details of all the textures of the prim's face. In this case,
/// the texture is given in its byte serialized form.
- ///
+ ///
///
///
///
--
cgit v1.1
From 2b84b6d8b1216d01aef4ad5fad513176e0867c6d Mon Sep 17 00:00:00 2001
From: Melanie
Date: Mon, 30 Jan 2012 21:38:46 +0000
Subject: Use the requested sim's map, not our own
---
OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
index ac95598..e42c946 100644
--- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
+++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
@@ -1024,10 +1024,10 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
switch (flag & 0xffff)
{
case 0:
- block.MapImageId = m_scene.RegionInfo.RegionSettings.ParcelImageID;
+ block.MapImageId = r.TerrainImage;
break;
case 2:
- block.MapImageId = m_scene.RegionInfo.RegionSettings.ParcelImageID;
+ block.MapImageId = r.ParcelImage;
break;
default:
block.MapImageId = UUID.Zero;
--
cgit v1.1