aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-02-13 19:06:35 +0000
committerTeravus Ovares2008-02-13 19:06:35 +0000
commit2e89c0185172591198bf5f3a61034dde3e88fb00 (patch)
tree083bb886eb94f46ed0e6e75084e79df96b6da6e3 /OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
parent* Patch from Dr Schofld's (IBM). In his own words (diff)
downloadopensim-SC_OLD-2e89c0185172591198bf5f3a61034dde3e88fb00.zip
opensim-SC_OLD-2e89c0185172591198bf5f3a61034dde3e88fb00.tar.gz
opensim-SC_OLD-2e89c0185172591198bf5f3a61034dde3e88fb00.tar.bz2
opensim-SC_OLD-2e89c0185172591198bf5f3a61034dde3e88fb00.tar.xz
* This fixes mantis 553 (It appears that the exception is thrown when there is a collision with a cylinder that is both hollowed and either tapered or cut. The sequence of actions that reproduce the problem for me are: create a cylinder, hollow to 95%, taper X/Y, then collide it with another object or avatar. Note that the cylinder itself is not marked physical. )
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/OdePlugin.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index a2f354a..1c16cfb 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -730,7 +730,16 @@ namespace OpenSim.Region.Physics.OdePlugin
730 } 730 }
731 } 731 }
732 } 732 }
733 try
734 {
733 735
736 d.GeomDestroy(prim.prim_geom);
737 }
738 catch (System.AccessViolationException)
739 {
740 m_log.Info("[PHYSICS]: Couldn't remove prim from physics scene, it was already be removed.");
741 }
742 _prims.Remove(prim);
734 743
735 //If there are no more geometries in the sub-space, we don't need it in the main space anymore 744 //If there are no more geometries in the sub-space, we don't need it in the main space anymore
736 if (d.SpaceGetNumGeoms(prim.m_targetSpace) == 0) 745 if (d.SpaceGetNumGeoms(prim.m_targetSpace) == 0)
@@ -755,9 +764,7 @@ namespace OpenSim.Region.Physics.OdePlugin
755 } 764 }
756 } 765 }
757 766
758 d.GeomDestroy(prim.prim_geom);
759 767
760 _prims.Remove(prim);
761 } 768 }
762 } 769 }
763 /// <summary> 770 /// <summary>