diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 8a90b482ea..29bdd21e85 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs @@ -2378,6 +2378,8 @@ Console.WriteLine(" JointCreateFixed"); public override void SetVolumeDetect(int param) { + // We have to lock the scene here so that an entire simulate loop either uses volume detect for all + // possible collisions with this prim or for none of them. lock (_parent_scene.OdeLock) { m_isVolumeDetect = (param != 0); diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs index 03ff6d8ab3..9b503fc4c9 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs @@ -3679,8 +3679,8 @@ Console.WriteLine("AddPhysicsActorTaint to " + taintedprim.Name); { d.GeomSetCategoryBits(WaterGeom, (int)(CollisionCategories.Water)); d.GeomSetCollideBits(WaterGeom, (int)(CollisionCategories.Space)); - } + geom_name_map[WaterGeom] = "Water"; d.Matrix3 R = new d.Matrix3();