clean up memory when exiting

This commit is contained in:
Xuchen Han
2019-08-29 10:32:55 -07:00
committed by Xuchen Han
parent ca3e25d4e2
commit f392d8ceb1

View File

@@ -2870,6 +2870,11 @@ void PhysicsServerCommandProcessor::deleteDynamicsWorld()
delete m_data->m_remoteDebugDrawer; delete m_data->m_remoteDebugDrawer;
m_data->m_remoteDebugDrawer = 0; m_data->m_remoteDebugDrawer = 0;
#ifndef SKIP_DEFORMABLE_BODY
delete m_data->m_deformablebodySolver;
m_data->m_deformablebodySolver = 0;
#endif
delete m_data->m_solver; delete m_data->m_solver;
m_data->m_solver = 0; m_data->m_solver = 0;
@@ -10392,14 +10397,10 @@ bool PhysicsServerCommandProcessor::processRemoveBodyCommand(const struct Shared
btSoftBody* psb = bodyHandle->m_softBody; btSoftBody* psb = bodyHandle->m_softBody;
if (m_data->m_pluginManager.getRenderInterface()) if (m_data->m_pluginManager.getRenderInterface())
{ {
#ifdef SKIP_DEFORMABLE_BODY
m_data->m_pluginManager.getRenderInterface()->removeVisualShape(psb->getBroadphaseHandle()->getUid()); m_data->m_pluginManager.getRenderInterface()->removeVisualShape(psb->getBroadphaseHandle()->getUid());
#endif
} }
serverCmd.m_removeObjectArgs.m_bodyUniqueIds[serverCmd.m_removeObjectArgs.m_numBodies++] = bodyUniqueId; serverCmd.m_removeObjectArgs.m_bodyUniqueIds[serverCmd.m_removeObjectArgs.m_numBodies++] = bodyUniqueId;
#ifdef SKIP_DEFORMABLE_BODY
m_data->m_dynamicsWorld->removeSoftBody(psb); m_data->m_dynamicsWorld->removeSoftBody(psb);
#endif
int graphicsInstance = psb->getUserIndex2(); int graphicsInstance = psb->getUserIndex2();
m_data->m_guiHelper->removeGraphicsInstance(graphicsInstance); m_data->m_guiHelper->removeGraphicsInstance(graphicsInstance);
delete psb; delete psb;