diff options
author | Tycho <work.tycho+git@gmail.com> | 2014-01-26 15:28:51 +0100 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2014-01-26 15:28:51 +0100 |
commit | bed2ee22e8283a2e8bd0790a89124839319c2fc3 (patch) | |
tree | ee9e66a7b7c63995797a502f209079c1422ce9c9 /src/Generating/ChunkGenerator.cpp | |
parent | Refactored cBlockHandler::OnUse and dependents (diff) | |
parent | Merge pull request #589 from mc-server/minecartimprovements (diff) | |
download | cuberite-bed2ee22e8283a2e8bd0790a89124839319c2fc3.tar cuberite-bed2ee22e8283a2e8bd0790a89124839319c2fc3.tar.gz cuberite-bed2ee22e8283a2e8bd0790a89124839319c2fc3.tar.bz2 cuberite-bed2ee22e8283a2e8bd0790a89124839319c2fc3.tar.lz cuberite-bed2ee22e8283a2e8bd0790a89124839319c2fc3.tar.xz cuberite-bed2ee22e8283a2e8bd0790a89124839319c2fc3.tar.zst cuberite-bed2ee22e8283a2e8bd0790a89124839319c2fc3.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Generating/ChunkGenerator.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Generating/ChunkGenerator.cpp b/src/Generating/ChunkGenerator.cpp index baa5b76b8..ef38f1399 100644 --- a/src/Generating/ChunkGenerator.cpp +++ b/src/Generating/ChunkGenerator.cpp @@ -201,7 +201,7 @@ void cChunkGenerator::Execute(void) while (!m_ShouldTerminate) { cCSLock Lock(m_CS); - while (m_Queue.size() == 0) + while (m_Queue.empty()) { if ((NumChunksGenerated > 16) && (clock() - LastReportTick > CLOCKS_PER_SEC)) { @@ -221,6 +221,13 @@ void cChunkGenerator::Execute(void) LastReportTick = clock(); } + if (m_Queue.empty()) + { + // Sometimes the queue remains empty + // If so, we can't do any front() operations on it! + continue; + } + cChunkCoords coords = m_Queue.front(); // Get next coord from queue m_Queue.erase( m_Queue.begin() ); // Remove coordinate from queue bool SkipEnabled = (m_Queue.size() > QUEUE_SKIP_LIMIT); |