diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-04-16 22:00:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-04-16 22:00:30 +0300 |
commit | fc6e4c75e29c26b46af5d0c17bbd124211563e4c (patch) | |
tree | 834b022769009c6c86354e98363a03b9357ce14d | |
parent | fa8f48584bcf693ef7293d94dc55161b9020eb3f (diff) | |
download | manaplus-fc6e4c75e29c26b46af5d0c17bbd124211563e4c.tar.gz manaplus-fc6e4c75e29c26b46af5d0c17bbd124211563e4c.tar.bz2 manaplus-fc6e4c75e29c26b46af5d0c17bbd124211563e4c.tar.xz manaplus-fc6e4c75e29c26b46af5d0c17bbd124211563e4c.zip |
Fix some possible memory leaks.
-rw-r--r-- | src/gui/textcommandeditor.cpp | 15 | ||||
-rw-r--r-- | src/gui/textcommandeditor.h | 18 | ||||
-rw-r--r-- | src/gui/widgets/button.cpp | 2 |
3 files changed, 26 insertions, 9 deletions
diff --git a/src/gui/textcommandeditor.cpp b/src/gui/textcommandeditor.cpp index 019827048..45bff6b03 100644 --- a/src/gui/textcommandeditor.cpp +++ b/src/gui/textcommandeditor.cpp @@ -198,13 +198,15 @@ TextCommandEditor::TextCommandEditor(TextCommand *command): mManaField->setRange(0, 500); mManaField->setWidth(20); + mTargetTypeModel = new TargetTypeModel; mTypeLabel = new Label(_("Target Type:")); - mTypeDropDown = new DropDown(new TargetTypeModel); + mTypeDropDown = new DropDown(mTargetTypeModel); mTypeDropDown->setActionEventId("type"); mTypeDropDown->addActionListener(this); + mIconsModal = new IconsModal; mIconLabel = new Label(_("Icon:")); - mIconDropDown = new DropDown(new IconsModal); + mIconDropDown = new DropDown(mIconsModal); mIconDropDown->setActionEventId("icon"); mIconDropDown->addActionListener(this); mIconDropDown->setSelectedString(mCommand->getIcon()); @@ -214,8 +216,9 @@ TextCommandEditor::TextCommandEditor(TextCommand *command): mMagicLvlField->setRange(0, 5); mMagicLvlField->setWidth(20); + mMagicSchoolModel = new MagicSchoolModel; mSchoolLabel = new Label(_("Magic School:")); - mSchoolDropDown = new DropDown(new MagicSchoolModel); + mSchoolDropDown = new DropDown(mMagicSchoolModel); mSchoolDropDown->setActionEventId("school"); mSchoolDropDown->addActionListener(this); mSchoolDropDown->setSelected(0); @@ -286,6 +289,12 @@ TextCommandEditor::TextCommandEditor(TextCommand *command): TextCommandEditor::~TextCommandEditor() { + delete mIconsModal; + mIconsModal = 0; + delete mTargetTypeModel; + mTargetTypeModel = 0; + delete mMagicSchoolModel; + mMagicSchoolModel = 0; } void TextCommandEditor::action(const gcn::ActionEvent &event) diff --git a/src/gui/textcommandeditor.h b/src/gui/textcommandeditor.h index 9f8c0ad51..cb88b8160 100644 --- a/src/gui/textcommandeditor.h +++ b/src/gui/textcommandeditor.h @@ -29,15 +29,18 @@ #include <guichan/actionlistener.hpp> -class RadioButton; -class Label; -class TextBox; -class TextField; +class Button; class DropDown; +class IconsModal; +class IntTextField; +class Label; class ListModel; -class Button; +class MagicSchoolModel; +class RadioButton; +class TargetTypeModel; +class TextBox; class TextCommand; -class IntTextField; +class TextField; class TextCommandEditor : public Window, public gcn::ActionListener { @@ -92,6 +95,9 @@ class TextCommandEditor : public Window, public gcn::ActionListener DropDown *mSchoolDropDown; Label *mSchoolLvlLabel; IntTextField *mSchoolLvlField; + IconsModal *mIconsModal; + TargetTypeModel *mTargetTypeModel; + MagicSchoolModel *mMagicSchoolModel; //Button *mAdvancedButton; Button *mCancelButton; diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp index a8e8b656d..91d297846 100644 --- a/src/gui/widgets/button.cpp +++ b/src/gui/widgets/button.cpp @@ -135,6 +135,8 @@ Button::~Button() { mInstances--; + delete mVertexes; + mVertexes = 0; if (mInstances == 0) { for (int mode = 0; mode < BUTTON_COUNT; mode++) |