From 67059e193229137e88f5e10e08c9c7e18c408281 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 3 Jun 2012 20:42:49 +0300 Subject: [PATCH] Catch VersionMismatchException while loading world data --- src/server.cpp | 8 ++++++-- 1 file 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)