diff options
Diffstat (limited to 'src/Simulator')
-rw-r--r-- | src/Simulator/SandSimulator.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Simulator/SandSimulator.cpp b/src/Simulator/SandSimulator.cpp index c26452d98..01e699b49 100644 --- a/src/Simulator/SandSimulator.cpp +++ b/src/Simulator/SandSimulator.cpp @@ -60,11 +60,11 @@ void cSandSimulator::SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, Pos.x, Pos.y, Pos.z, ItemTypeToString(BlockType).c_str(), ItemTypeToString(BlockBelow).c_str() ); */ - cFallingBlock * FallingBlock = new cFallingBlock(Pos, BlockType, a_Chunk->GetMeta(itr->x, itr->y, itr->z)); - if (!FallingBlock->Initialize(m_World)) + + auto FallingBlock = cpp14::make_unique<cFallingBlock>(Pos, BlockType, a_Chunk->GetMeta(itr->x, itr->y, itr->z)); + auto FallingBlockPtr = FallingBlock.get(); + if (!FallingBlockPtr->Initialize(std::move(FallingBlock), m_World)) { - delete FallingBlock; - FallingBlock = nullptr; continue; } a_Chunk->SetBlock(itr->x, itr->y, itr->z, E_BLOCK_AIR, 0); |