aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs17
1 files changed, 3 insertions, 14 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 34844c0..86ed3bd 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -97,7 +97,6 @@ namespace OpenSim.Region.Physics.OdePlugin
97 97
98 // private float m_tensor = 5f; 98 // private float m_tensor = 5f;
99 private int body_autodisable_frames = 20; 99 private int body_autodisable_frames = 20;
100 private IMesh primMesh = null;
101 100
102 101
103 private const CollisionCategories m_default_collisionFlags = (CollisionCategories.Geom 102 private const CollisionCategories m_default_collisionFlags = (CollisionCategories.Geom
@@ -825,14 +824,10 @@ namespace OpenSim.Region.Physics.OdePlugin
825 } 824 }
826 } 825 }
827 826
828 IMesh oldMesh = primMesh; 827 float[] vertexList = mesh.getVertexListAsFloatLocked(); // Note, that vertextList is pinned in memory
828 int[] indexList = mesh.getIndexListAsIntLocked(); // Also pinned, needs release after usage
829 829
830 primMesh = mesh; 830 mesh.releaseSourceMeshData(); // free up the original mesh data to save memory
831
832 float[] vertexList = primMesh.getVertexListAsFloatLocked(); // Note, that vertextList is pinned in memory
833 int[] indexList = primMesh.getIndexListAsIntLocked(); // Also pinned, needs release after usage
834
835 primMesh.releaseSourceMeshData(); // free up the original mesh data to save memory
836 831
837 int VertexCount = vertexList.GetLength(0)/3; 832 int VertexCount = vertexList.GetLength(0)/3;
838 int IndexCount = indexList.GetLength(0); 833 int IndexCount = indexList.GetLength(0);
@@ -859,12 +854,6 @@ namespace OpenSim.Region.Physics.OdePlugin
859 return; 854 return;
860 } 855 }
861 856
862 if (oldMesh != null)
863 {
864 oldMesh.releasePinned();
865 oldMesh = null;
866 }
867
868 // if (IsPhysical && Body == (IntPtr) 0) 857 // if (IsPhysical && Body == (IntPtr) 0)
869 // { 858 // {
870 // Recreate the body 859 // Recreate the body