Remove unnecessary lock of OdeLock in OdePrim.changeadd()
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.remove-scene-viewer
parent
5515c45e3b
commit
f10a824e47
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue