diff options
author | Justin Clark-Casey (justincc) | 2011-08-01 06:32:30 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-08-01 06:32:30 +0100 |
commit | f32dbef64715bb389a0aa8cd7d2a994e6b168b61 (patch) | |
tree | 47a8f08a60bbec9777b25e9fc6330c70d11c92cd | |
parent | refactor: centralize prim geom removal code from four places to one (diff) | |
download | opensim-SC-f32dbef64715bb389a0aa8cd7d2a994e6b168b61.zip opensim-SC-f32dbef64715bb389a0aa8cd7d2a994e6b168b61.tar.gz opensim-SC-f32dbef64715bb389a0aa8cd7d2a994e6b168b61.tar.bz2 opensim-SC-f32dbef64715bb389a0aa8cd7d2a994e6b168b61.tar.xz |
When an ODE geom is removed (as when a non-phantom prim is deleted, resized or shape changed, also remove the OdeScene.actor_name_map entry pointing to the phys actor
This is to stop a small memory leak over time when prims are deleted or phantom-toggled
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index e90df48..16764c2 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -1448,6 +1448,7 @@ Console.WriteLine("CreateGeom:"); | |||
1448 | { | 1448 | { |
1449 | try | 1449 | try |
1450 | { | 1450 | { |
1451 | _parent_scene.actor_name_map.Remove(prim_geom); | ||
1451 | d.GeomDestroy(prim_geom); | 1452 | d.GeomDestroy(prim_geom); |
1452 | prim_geom = IntPtr.Zero; | 1453 | prim_geom = IntPtr.Zero; |
1453 | } | 1454 | } |
@@ -1455,6 +1456,7 @@ Console.WriteLine("CreateGeom:"); | |||
1455 | { | 1456 | { |
1456 | prim_geom = IntPtr.Zero; | 1457 | prim_geom = IntPtr.Zero; |
1457 | m_log.ErrorFormat("[PHYSICS]: PrimGeom dead for {0}", Name); | 1458 | m_log.ErrorFormat("[PHYSICS]: PrimGeom dead for {0}", Name); |
1459 | |||
1458 | return false; | 1460 | return false; |
1459 | } | 1461 | } |
1460 | 1462 | ||