summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/World.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/World.cpp b/source/World.cpp
index 59240c7da..5c3a24177 100644
--- a/source/World.cpp
+++ b/source/World.cpp
@@ -552,6 +552,17 @@ void cWorld::Start(void)
void cWorld::Stop(void)
{
+ // Delete the clients that have been in this world:
+ {
+ cCSLock Lock(m_CSClients);
+ for (cClientHandleList::iterator itr = m_Clients.begin(); itr != m_Clients.end(); ++itr)
+ {
+ (*itr)->Destroy();
+ delete *itr;
+ } // for itr - m_Clients[]
+ m_Clients.clear();
+ }
+
m_TickThread.Stop();
m_Lighting.Stop();
m_Generator.Stop();