aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server.cpp b/src/server.cpp
index 771eb3652..e4ac8bf48 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -172,7 +172,7 @@ void * EmergeThread::Thread()
After queue is empty, exit.
*/
while(getRun())
- {
+ try{
QueuedBlockEmerge *qptr = m_server->m_emerge_queue.pop();
if(qptr == NULL)
break;
@@ -374,7 +374,11 @@ void * EmergeThread::Thread()
client->SetBlocksNotSent(modified_blocks);
}
}
-
+ }
+ catch(VersionMismatchException &e)
+ {
+ m_server->setAsyncFatalError(std::string(
+ "World data version mismatch (server-side) (world probably saved by a newer version of Minetest): ")+e.what());
}
END_DEBUG_EXCEPTION_HANDLER(errorstream)