From 1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sat, 27 Oct 2012 07:51:01 +0000 Subject: [PATCH] Fixed more valgrind issues ( http://forum.mc-server.org/showthread.php?tid=598&pid=5139#pid5139 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@1013 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/ChunkSender.cpp | 3 ++- source/Simulator/SimulatorManager.cpp | 23 +++++++++-------------- source/Simulator/SimulatorManager.h | 10 +++++----- 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/source/ChunkSender.cpp b/source/ChunkSender.cpp index a7afb801c..b49561371 100644 --- a/source/ChunkSender.cpp +++ b/source/ChunkSender.cpp @@ -35,7 +35,8 @@ void cNotifyChunkSender::Call(int a_ChunkX, int a_ChunkZ) cChunkSender::cChunkSender(void) : super("ChunkSender"), m_World(NULL), - m_Notify(NULL) + m_Notify(NULL), + m_RemoveCount(0) { m_Notify.SetChunkSender(this); } diff --git a/source/Simulator/SimulatorManager.cpp b/source/Simulator/SimulatorManager.cpp index 1ab7a51b5..c74b273f7 100644 --- a/source/Simulator/SimulatorManager.cpp +++ b/source/Simulator/SimulatorManager.cpp @@ -7,9 +7,9 @@ -cSimulatorManager::cSimulatorManager() +cSimulatorManager::cSimulatorManager(void) : + m_Ticks(0) { - } @@ -18,10 +18,6 @@ cSimulatorManager::cSimulatorManager() cSimulatorManager::~cSimulatorManager() { - for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr ) - { - delete *itr; - } // for itr - m_Simulators[] } @@ -33,8 +29,10 @@ void cSimulatorManager::Simulate( float a_Dt ) m_Ticks++; for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr ) { - if(m_Ticks % (*itr)->second == 0) - (*itr)->first->Simulate(a_Dt); + if ((m_Ticks % itr->second) == 0) + { + itr->first->Simulate(a_Dt); + } } } @@ -46,7 +44,7 @@ void cSimulatorManager::WakeUp(int a_BlockX, int a_BlockY, int a_BlockZ) { for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr ) { - (*itr)->first->WakeUp(a_BlockX, a_BlockY, a_BlockZ); + itr->first->WakeUp(a_BlockX, a_BlockY, a_BlockZ); } } @@ -54,12 +52,9 @@ void cSimulatorManager::WakeUp(int a_BlockX, int a_BlockY, int a_BlockZ) -void cSimulatorManager::RegisterSimulator(cSimulator *a_Simulator, short a_Rate) +void cSimulatorManager::RegisterSimulator(cSimulator * a_Simulator, int a_Rate) { - //TODO needs some checking - std::pair *Pair = new std::pair(a_Simulator, a_Rate); - - m_Simulators.push_back(Pair); + m_Simulators.push_back(std::make_pair(a_Simulator, a_Rate)); } diff --git a/source/Simulator/SimulatorManager.h b/source/Simulator/SimulatorManager.h index e90acffab..fbd97b8fa 100644 --- a/source/Simulator/SimulatorManager.h +++ b/source/Simulator/SimulatorManager.h @@ -18,17 +18,17 @@ class cSimulatorManager { public: - cSimulatorManager(); + cSimulatorManager(void); ~cSimulatorManager(); - void Simulate( float a_Dt ); - void WakeUp(int a_X, int a_Y, int a_Z); + void Simulate(float a_Dt); + void WakeUp(int a_BlockX, int a_BlockY, int a_BlockZ); - void RegisterSimulator(cSimulator * a_Simulator, short a_Rate); // Takes ownership of the simulator object! + void RegisterSimulator(cSimulator * a_Simulator, int a_Rate); // Takes ownership of the simulator object! protected: - typedef std::vector *> cSimulators; + typedef std::vector > cSimulators; cSimulators m_Simulators; long long m_Ticks;