From 81d348510924b7782ee06f65da63499b3a7e1eb5 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 1 Jan 2012 21:01:55 +0200 Subject: [PATCH] Fix segfault when generating stuff on world boundaries --- src/server.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/server.cpp b/src/server.cpp index 68a84b248..4a0e952a8 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -249,7 +249,7 @@ void * EmergeThread::Thread() t.stop(true); // Hide output } - { + do{ // enable break // Lock environment again to access the map JMutexAutoLock envlock(m_server->m_env_mutex); @@ -262,6 +262,11 @@ void * EmergeThread::Thread() // Get central block block = map.getBlockNoCreateNoEx(p); + + // If block doesn't exist, don't try doing anything with it + // This happens if the block is not in generation boundaries + if(!block) + break; /* Do some post-generate stuff @@ -285,7 +290,7 @@ void * EmergeThread::Thread() // Activate objects and stuff m_server->m_env->activateBlock(block, 0); - } + }while(false); } if(block == NULL)