From c54bf40ef96806bf836db205f79e60d016b7eee9 Mon Sep 17 00:00:00 2001 From: peterbell10 Date: Fri, 22 Sep 2017 17:16:47 +0100 Subject: cWorld Threads: Seperate initialization and thread start. Prevents nullptr dereferences before Start has been called. --- src/World.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/World.cpp') diff --git a/src/World.cpp b/src/World.cpp index d86329395..4dd9cbc86 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -196,6 +196,7 @@ cWorld::cWorld( m_MapManager(this), m_GeneratorCallbacks(*this), m_ChunkSender(*this), + m_Lighting(*this), m_TickThread(*this) { LOGD("cWorld::cWorld(\"%s\")", a_WorldName.c_str()); @@ -405,6 +406,7 @@ cWorld::cWorld( m_SimulatorManager->RegisterSimulator(m_SandSimulator.get(), 1); m_SimulatorManager->RegisterSimulator(m_FireSimulator.get(), 1); + m_Storage.Initialize(*this, m_StorageSchema, m_StorageCompressionFactor); m_Generator.Initialize(m_GeneratorCallbacks, m_GeneratorCallbacks, IniFile); m_MapManager.LoadMapData(); @@ -607,8 +609,8 @@ void cWorld::InitializeSpawn(void) void cWorld::Start() { - m_Lighting.Start(this); - m_Storage.Start(this, m_StorageSchema, m_StorageCompressionFactor); + m_Lighting.Start(); + m_Storage.Start(); m_Generator.Start(); m_ChunkSender.Start(); m_TickThread.Start(); -- cgit v1.2.3