1
0

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
This commit is contained in:
madmaxoft@gmail.com 2012-10-27 07:51:01 +00:00
parent 31a326382a
commit 1cd213fa60
3 changed files with 16 additions and 20 deletions

View File

@ -35,7 +35,8 @@ void cNotifyChunkSender::Call(int a_ChunkX, int a_ChunkZ)
cChunkSender::cChunkSender(void) : cChunkSender::cChunkSender(void) :
super("ChunkSender"), super("ChunkSender"),
m_World(NULL), m_World(NULL),
m_Notify(NULL) m_Notify(NULL),
m_RemoveCount(0)
{ {
m_Notify.SetChunkSender(this); m_Notify.SetChunkSender(this);
} }

View File

@ -7,9 +7,9 @@
cSimulatorManager::cSimulatorManager() cSimulatorManager::cSimulatorManager(void) :
m_Ticks(0)
{ {
} }
@ -18,10 +18,6 @@ cSimulatorManager::cSimulatorManager()
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++; m_Ticks++;
for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr ) for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr )
{ {
if(m_Ticks % (*itr)->second == 0) if ((m_Ticks % itr->second) == 0)
(*itr)->first->Simulate(a_Dt); {
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 ) 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 m_Simulators.push_back(std::make_pair(a_Simulator, a_Rate));
std::pair<cSimulator *, short> *Pair = new std::pair<cSimulator *, short>(a_Simulator, a_Rate);
m_Simulators.push_back(Pair);
} }

View File

@ -18,17 +18,17 @@
class cSimulatorManager class cSimulatorManager
{ {
public: public:
cSimulatorManager(); cSimulatorManager(void);
~cSimulatorManager(); ~cSimulatorManager();
void Simulate( float a_Dt ); void Simulate(float a_Dt);
void WakeUp(int a_X, int a_Y, int a_Z); 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: protected:
typedef std::vector <std::pair<cSimulator *, short> *> cSimulators; typedef std::vector <std::pair<cSimulator *, int> > cSimulators;
cSimulators m_Simulators; cSimulators m_Simulators;
long long m_Ticks; long long m_Ticks;