From ad5d0eda9c35a7f4a00e11743f545d057d188a8c Mon Sep 17 00:00:00 2001 From: tycho Date: Fri, 26 Sep 2014 17:00:34 +0100 Subject: Fixed issue with casting --- src/Chunk.cpp | 3 +++ src/Chunk.h | 4 ++-- src/Simulator/RedstoneSimulator.h | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Chunk.cpp b/src/Chunk.cpp index a7dec3fe3..06260bead 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -91,6 +91,7 @@ cChunk::cChunk( m_NeighborZP(a_NeighborZP), m_WaterSimulatorData(a_World->GetWaterSimulator()->CreateChunkData()), m_LavaSimulatorData (a_World->GetLavaSimulator ()->CreateChunkData()), + m_RedstoneSimulatorData(NULL), m_AlwaysTicked(0) { if (a_NeighborXM != NULL) @@ -159,6 +160,8 @@ cChunk::~cChunk() m_WaterSimulatorData = NULL; delete m_LavaSimulatorData; m_LavaSimulatorData = NULL; + delete m_RedstoneSimulatorData; + m_RedstoneSimulatorData = NULL; } diff --git a/src/Chunk.h b/src/Chunk.h index a3de730dc..7a2e75685 100644 --- a/src/Chunk.h +++ b/src/Chunk.h @@ -416,7 +416,7 @@ public: cFluidSimulatorData * GetLavaSimulatorData (void) { return m_LavaSimulatorData; } cSandSimulatorChunkData & GetSandSimulatorData (void) { return m_SandSimulatorData; } - cRedstoneSimulatorChunkData * GetRedstoneSimulatorData(void) { return &m_RedstoneSimulatorData; } + cRedstoneSimulatorChunkData * GetRedstoneSimulatorData(void) { return m_RedstoneSimulatorData; } bool IsRedstoneDirty(void) const { return m_IsRedstoneDirty; } void SetIsRedstoneDirty(bool a_Flag) { m_IsRedstoneDirty = a_Flag; } @@ -501,7 +501,7 @@ private: cFluidSimulatorData * m_LavaSimulatorData; cSandSimulatorChunkData m_SandSimulatorData; - cRedstoneSimulatorChunkData m_RedstoneSimulatorData; + cRedstoneSimulatorChunkData * m_RedstoneSimulatorData; /** Indicates if simulate-once blocks should be updated by the redstone simulator */ diff --git a/src/Simulator/RedstoneSimulator.h b/src/Simulator/RedstoneSimulator.h index 0e3dd495d..f6d36f869 100644 --- a/src/Simulator/RedstoneSimulator.h +++ b/src/Simulator/RedstoneSimulator.h @@ -7,10 +7,12 @@ class cRedstoneSimulatorChunkData { public: - virtual ~cRedstoneSimulatorChunkData() {} + virtual ~cRedstoneSimulatorChunkData() = 0; } ; +inline cRedstoneSimulatorChunkData::~cRedstoneSimulatorChunkData() {} + template class cRedstoneSimulator : public cSimulator -- cgit v1.2.3