Erwan - Fix issue 30 (memory leaks in GuiCombat.cpp)
This commit is contained in:
@@ -30,6 +30,7 @@ struct AttackerDamaged : DamagerDamaged {
|
||||
vector<DefenserDamaged*> blockers;
|
||||
AttackerDamaged(MTGCardInstance* card, float x, float y, bool show, Player* damageSelecter);
|
||||
AttackerDamaged(MTGCardInstance* card, const Pos& ref, bool show, Player* damageSelecter);
|
||||
~AttackerDamaged();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -88,3 +88,8 @@ void DamagerDamaged::Render(CombatStep mode)
|
||||
|
||||
AttackerDamaged::AttackerDamaged(MTGCardInstance* card, float x, float y, bool show, Player * damageSelecter) : DamagerDamaged(card, x, y, show, damageSelecter) {}
|
||||
AttackerDamaged::AttackerDamaged(MTGCardInstance* card, const Pos& ref, bool show, Player * damageSelecter) : DamagerDamaged(card, ref, show, damageSelecter) {}
|
||||
|
||||
AttackerDamaged::~AttackerDamaged(){
|
||||
for (vector<DefenserDamaged*>::iterator q = blockers.begin(); q != blockers.end(); ++q)
|
||||
delete(*q);
|
||||
}
|
||||
@@ -33,8 +33,6 @@ GuiCombat::~GuiCombat()
|
||||
|
||||
for (inner_iterator it = attackers.begin(); it != attackers.end(); ++it)
|
||||
{
|
||||
for (vector<DefenserDamaged*>::iterator q = (*it)->blockers.begin(); q != (*it)->blockers.end(); ++q)
|
||||
delete(*q);
|
||||
delete (*it);
|
||||
}
|
||||
}
|
||||
@@ -370,7 +368,6 @@ int GuiCombat::receiveEventMinus(WEvent* e)
|
||||
{
|
||||
AttackerDamaged* d = *it;
|
||||
if (activeAtk == *it) activeAtk = NULL;
|
||||
for (vector<DefenserDamaged*>::iterator q = (*it)->blockers.begin(); q != (*it)->blockers.end(); ++q) delete(*q);
|
||||
attackers.erase(it);
|
||||
SAFE_DELETE(d);
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user