summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortycho <tycho@hanoverdesktop>2014-09-26 18:00:34 +0200
committertycho <tycho@hanoverdesktop>2014-09-26 18:00:34 +0200
commitad5d0eda9c35a7f4a00e11743f545d057d188a8c (patch)
tree61d228ac8fb2bf00635726026bbddc1cb265a5c7
parentMerge pull request #1419 from mc-server/redstoneTests (diff)
downloadcuberite-ad5d0eda9c35a7f4a00e11743f545d057d188a8c.tar
cuberite-ad5d0eda9c35a7f4a00e11743f545d057d188a8c.tar.gz
cuberite-ad5d0eda9c35a7f4a00e11743f545d057d188a8c.tar.bz2
cuberite-ad5d0eda9c35a7f4a00e11743f545d057d188a8c.tar.lz
cuberite-ad5d0eda9c35a7f4a00e11743f545d057d188a8c.tar.xz
cuberite-ad5d0eda9c35a7f4a00e11743f545d057d188a8c.tar.zst
cuberite-ad5d0eda9c35a7f4a00e11743f545d057d188a8c.zip
-rw-r--r--src/Chunk.cpp3
-rw-r--r--src/Chunk.h4
-rw-r--r--src/Simulator/RedstoneSimulator.h4
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 ChunkType, class WorldType>
class cRedstoneSimulator :
public cSimulator<ChunkType, WorldType>