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