diff --git a/projects/mtg/include/GuiHand.h b/projects/mtg/include/GuiHand.h index da7629a59..214501cf1 100644 --- a/projects/mtg/include/GuiHand.h +++ b/projects/mtg/include/GuiHand.h @@ -64,6 +64,7 @@ class GuiHandSelf : public GuiHand public: GuiHandSelf(CardSelector* cs, MTGHand* hand); + ~GuiHandSelf(); virtual int receiveEventPlus(WEvent* e); virtual int receiveEventMinus(WEvent* e); diff --git a/projects/mtg/include/GuiMana.h b/projects/mtg/include/GuiMana.h index 61a65dcad..34c7834ec 100644 --- a/projects/mtg/include/GuiMana.h +++ b/projects/mtg/include/GuiMana.h @@ -37,6 +37,7 @@ class GuiMana : public GuiLayer vector manas; public: GuiMana(); + ~GuiMana(); virtual void Render(); virtual void Update(float dt); virtual int receiveEventPlus(WEvent * e); diff --git a/projects/mtg/src/DuelLayers.cpp b/projects/mtg/src/DuelLayers.cpp index e1680726a..4f6a4d132 100644 --- a/projects/mtg/src/DuelLayers.cpp +++ b/projects/mtg/src/DuelLayers.cpp @@ -77,6 +77,10 @@ DuelLayers::DuelLayers() : nbitems(0) {} DuelLayers::~DuelLayers(){ for (int i = 0; i < nbitems; ++i) delete objects[i]; + + for (size_t i = 0; i < waiters.size(); ++i){ + delete(waiters[i]); + } } int DuelLayers::unstoppableRenderInProgress(){ diff --git a/projects/mtg/src/GuiFrame.cpp b/projects/mtg/src/GuiFrame.cpp index 5aeaac72e..cd758f4ac 100644 --- a/projects/mtg/src/GuiFrame.cpp +++ b/projects/mtg/src/GuiFrame.cpp @@ -41,6 +41,7 @@ GuiFrame::~GuiFrame() delete(gold2); delete(gold1); delete(wood); + SAFE_DELETE(goldGlow); } void GuiFrame::Render() diff --git a/projects/mtg/src/GuiHand.cpp b/projects/mtg/src/GuiHand.cpp index 6aad3c8b4..8c8263251 100644 --- a/projects/mtg/src/GuiHand.cpp +++ b/projects/mtg/src/GuiHand.cpp @@ -40,6 +40,8 @@ GuiHand::GuiHand(CardSelector* cs, MTGHand* hand) : GuiLayer(), hand(hand), cs(c GuiHand::~GuiHand() { delete(back); + for (vector::iterator it = cards.begin(); it != cards.end(); ++it) + delete(*it); } void GuiHand::Update(float dt) @@ -69,6 +71,11 @@ GuiHandSelf::GuiHandSelf(CardSelector* cs, MTGHand* hand) : GuiHand(cs, hand), s { limitor = NEW HandLimitor(this); } + +GuiHandSelf::~GuiHandSelf(){ + SAFE_DELETE(limitor); +} + bool GuiHandSelf::CheckUserInput(u32 key) { //u32 trigger = options[REVERSE_TRIGGERS]; diff --git a/projects/mtg/src/GuiMana.cpp b/projects/mtg/src/GuiMana.cpp index 10c48a96e..905af2c3c 100644 --- a/projects/mtg/src/GuiMana.cpp +++ b/projects/mtg/src/GuiMana.cpp @@ -120,6 +120,12 @@ GuiMana::GuiMana() { } +GuiMana::~GuiMana(){ + for (vector::iterator it = manas.begin(); it != manas.end(); ++it){ + delete(*it); + } +} + void GuiMana::Render() { for (vector::iterator it = manas.begin(); it != manas.end(); ++it) diff --git a/projects/mtg/src/GuiPlay.cpp b/projects/mtg/src/GuiPlay.cpp index 0622626c5..038c81dcb 100644 --- a/projects/mtg/src/GuiPlay.cpp +++ b/projects/mtg/src/GuiPlay.cpp @@ -97,6 +97,9 @@ GuiPlay::GuiPlay(GameObserver* game, CardSelector* cs) : game(game), cs(cs) GuiPlay::~GuiPlay() { + for (iterator it = cards.begin(); it != cards.end(); ++it){ + delete(*it); + } } bool isSpell(CardView* c) { return c->card->isSpell(); } diff --git a/projects/mtg/src/GuiStatic.cpp b/projects/mtg/src/GuiStatic.cpp index c49a772b7..3b0cbf569 100644 --- a/projects/mtg/src/GuiStatic.cpp +++ b/projects/mtg/src/GuiStatic.cpp @@ -137,6 +137,9 @@ GuiGameZone::GuiGameZone(float x, float y, bool hasFocus, MTGGameZone* zone, Gui GuiGameZone::~GuiGameZone(){ if (cd) delete cd; + for (vector::iterator it = cards.begin(); it != cards.end(); ++it){ + delete(*it); + } } ostream& GuiGameZone::toString(ostream& out) const