From 075029bdfe883fd4de6950d705e3e4191a22a8e7 Mon Sep 17 00:00:00 2001 From: Leandro Dorileo Date: Wed, 12 Sep 2012 21:49:29 +0000 Subject: [PATCH] ephysics: soft body memory usage/leak Added a call for sparsesdf garbage collector after every simulation avoiding bullet's soft dynamics leaks. Patch by: Leandro Dorileo SVN revision: 76561 --- legacy/ephysics/src/lib/ephysics_world.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/legacy/ephysics/src/lib/ephysics_world.cpp b/legacy/ephysics/src/lib/ephysics_world.cpp index 093c3237f8..507f85f0c8 100644 --- a/legacy/ephysics/src/lib/ephysics_world.cpp +++ b/legacy/ephysics/src/lib/ephysics_world.cpp @@ -276,8 +276,11 @@ _simulate_worlds(void *data __UNUSED__) gDeactivationTime = world->max_sleeping_time; if (world->soft_body_ref) - world->dynamics_world->stepSimulation(delta, world->max_sub_steps, + { + world->dynamics_world->stepSimulation(delta, world->max_sub_steps, world->fixed_time_step); + world->world_info->m_sparsesdf.GarbageCollect(); + } else ((btDiscreteDynamicsWorld *)world->dynamics_world)->stepSimulation( delta, world->max_sub_steps, world->fixed_time_step);