From bd0d7865909d2c7f3f2b0b1ba4900d763642af35 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Jan 2015 23:28:21 +1100 Subject: Change UniqueQueue to use a queue and a set. --- src/map.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/map.cpp') diff --git a/src/map.cpp b/src/map.cpp index ec2a5f74c..48585a170 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1663,7 +1663,8 @@ void Map::transformLiquids(std::map & modified_blocks) /* Get a queued transforming liquid node */ - v3s16 p0 = m_transforming_liquid.pop_front(); + v3s16 p0 = m_transforming_liquid.front(); + m_transforming_liquid.pop_front(); MapNode n0 = getNodeNoEx(p0); @@ -1909,7 +1910,10 @@ void Map::transformLiquids(std::map & modified_blocks) } //infostream<<"Map::transformLiquids(): loopcount="< 0) - m_transforming_liquid.push_back(must_reflow.pop_front()); + { + m_transforming_liquid.push_back(must_reflow.front()); + must_reflow.pop_front(); + } updateLighting(lighting_modified_blocks, modified_blocks); @@ -2380,8 +2384,8 @@ void ServerMap::finishBlockMake(BlockMakeData *data, */ while(data->transforming_liquid.size() > 0) { - v3s16 p = data->transforming_liquid.pop_front(); - m_transforming_liquid.push_back(p); + m_transforming_liquid.push_back(data->transforming_liquid.front()); + data->transforming_liquid.pop_front(); } /* -- cgit v1.2.3