lock collision mesh cache when accessing

This commit is contained in:
dahlia
2015-05-03 19:54:03 -07:00
parent 60e719286b
commit 73efb1633f

View File

@@ -928,8 +928,11 @@ namespace OpenSim.Region.Physics.Meshing
if (shouldCache)
{
key = primShape.GetMeshKey(size, lod);
if (m_uniqueMeshes.TryGetValue(key, out mesh))
return mesh;
lock (m_uniqueMeshes)
{
if (m_uniqueMeshes.TryGetValue(key, out mesh))
return mesh;
}
}
if (size.X < 0.01f) size.X = 0.01f;
@@ -955,7 +958,10 @@ namespace OpenSim.Region.Physics.Meshing
if (shouldCache)
{
m_uniqueMeshes.Add(key, mesh);
lock (m_uniqueMeshes)
{
m_uniqueMeshes.Add(key, mesh);
}
}
}