diff options
Diffstat (limited to 'src/client/client.cpp')
-rw-r--r-- | src/client/client.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/client/client.cpp b/src/client/client.cpp index 0f96904b7..9a7e1498f 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -339,8 +339,12 @@ Client::~Client() m_mesh_update_manager.wait(); MeshUpdateResult r; - while (m_mesh_update_manager.getNextResult(r)) + while (m_mesh_update_manager.getNextResult(r)) { + for (auto block : r.map_blocks) + if (block) + block->refDrop(); delete r.mesh; + } delete m_inventory_from_server; @@ -595,6 +599,10 @@ void Client::step(float dtime) blocks_to_ack.emplace_back(r.p); } + + for (auto block : r.map_blocks) + if (block) + block->refDrop(); } if (blocks_to_ack.size() > 0) { // Acknowledge block(s) |