From: Perttu Ahola Date: Sun, 1 Jan 2012 19:01:55 +0000 (+0200) Subject: Fix segfault when generating stuff on world boundaries X-Git-Tag: 0.4.dev-20120106-1~30 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=81d348510924b7782ee06f65da63499b3a7e1eb5;p=oweals%2Fminetest.git Fix segfault when generating stuff on world boundaries --- 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)