src/client.cpp: Fix mapper memory leak

This commit is contained in:
Břetislav Štec 2015-08-02 01:31:57 +02:00 committed by kwolekr
parent 42cf5e972d
commit ebe7b31538
1 changed files with 6 additions and 4 deletions

View File

@ -291,7 +291,7 @@ Client::~Client()
m_mesh_update_thread.Stop();
m_mesh_update_thread.Wait();
while(!m_mesh_update_thread.m_queue_out.empty()) {
while (!m_mesh_update_thread.m_queue_out.empty()) {
MeshUpdateResult r = m_mesh_update_thread.m_queue_out.pop_frontNoEx();
delete r.mesh;
}
@ -300,20 +300,22 @@ Client::~Client()
delete m_inventory_from_server;
// Delete detached inventories
for(std::map<std::string, Inventory*>::iterator
for (std::map<std::string, Inventory*>::iterator
i = m_detached_inventories.begin();
i != m_detached_inventories.end(); i++){
i != m_detached_inventories.end(); ++i) {
delete i->second;
}
// cleanup 3d model meshes on client shutdown
while (m_device->getSceneManager()->getMeshCache()->getMeshCount() != 0) {
scene::IAnimatedMesh * mesh =
scene::IAnimatedMesh *mesh =
m_device->getSceneManager()->getMeshCache()->getMeshByIndex(0);
if (mesh != NULL)
m_device->getSceneManager()->getMeshCache()->removeMesh(mesh);
}
delete m_mapper;
}
void Client::connect(Address address,