diff --git a/src/map.cpp b/src/map.cpp index 38a700e3c9f6ee06c06cef454328da8bd01ced8f..76a558d43cebf90f90ae8fd02714ffe61c1d2ac2 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1499,8 +1499,8 @@ void Map::timerUpdate(float dtime, float unload_timeout, u32 max_loaded_blocks, } block_count_all = mapblock_queue.size(); // Delete old blocks, and blocks over the limit from the memory - while (mapblock_queue.size() > max_loaded_blocks - || mapblock_queue.top().block->getUsageTimer() > unload_timeout) { + while (!mapblock_queue.empty() && (mapblock_queue.size() > max_loaded_blocks + || mapblock_queue.top().block->getUsageTimer() > unload_timeout)) { TimeOrderedMapBlock b = mapblock_queue.top(); mapblock_queue.pop();