Remove unnecessary lock of OdeLock in OdePrim.changeadd()

This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.
0.7.2-post-fixes
Justin Clark-Casey (justincc) 2011-10-18 20:58:59 +01:00
parent 5980d57b7a
commit d6456b9ea8
1 changed files with 13 additions and 18 deletions

View File

@ -1494,30 +1494,25 @@ Console.WriteLine("CreateGeom:");
// m_log.Debug(m_localID); // m_log.Debug(m_localID);
} }
lock (_parent_scene.OdeLock)
{
#if SPAM #if SPAM
Console.WriteLine("changeadd 1"); Console.WriteLine("changeadd 1");
#endif #endif
CreateGeom(m_targetSpace, mesh); CreateGeom(m_targetSpace, mesh);
if (prim_geom != IntPtr.Zero) if (prim_geom != IntPtr.Zero)
{ {
d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
d.Quaternion myrot = new d.Quaternion(); d.Quaternion myrot = new d.Quaternion();
myrot.X = _orientation.X; myrot.X = _orientation.X;
myrot.Y = _orientation.Y; myrot.Y = _orientation.Y;
myrot.Z = _orientation.Z; myrot.Z = _orientation.Z;
myrot.W = _orientation.W; myrot.W = _orientation.W;
d.GeomSetQuaternion(prim_geom, ref myrot); d.GeomSetQuaternion(prim_geom, ref myrot);
}
if (IsPhysical && Body == IntPtr.Zero)
{
enableBody();
}
} }
if (IsPhysical && Body == IntPtr.Zero)
enableBody();
changeSelectedStatus(); changeSelectedStatus();
m_taintadd = false; m_taintadd = false;