summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-03-30 23:57:40 +0300
committerAndrei Karas <akaras@inbox.ru>2011-03-31 01:04:53 +0300
commit91a51ec64c35713914b22f2d9a283dc5b4091c12 (patch)
tree0289142a45284514a8981b02601c83ac1039dd5d /src/gui
parentd629f56517f55d1fd756c4774d9a368d66f615df (diff)
downloadmanaplus-91a51ec64c35713914b22f2d9a283dc5b4091c12.tar.gz
manaplus-91a51ec64c35713914b22f2d9a283dc5b4091c12.tar.bz2
manaplus-91a51ec64c35713914b22f2d9a283dc5b4091c12.tar.xz
manaplus-91a51ec64c35713914b22f2d9a283dc5b4091c12.zip
Fix memory leaks and some other errors.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/login.cpp5
-rw-r--r--src/gui/login.h2
-rw-r--r--src/gui/widgets/itemcontainer.cpp1
-rw-r--r--src/gui/widgets/tabbedarea.cpp11
-rw-r--r--src/gui/widgets/window.cpp2
5 files changed, 13 insertions, 8 deletions
diff --git a/src/gui/login.cpp b/src/gui/login.cpp
index 853276dca..d910d37bc 100644
--- a/src/gui/login.cpp
+++ b/src/gui/login.cpp
@@ -106,7 +106,8 @@ LoginDialog::LoginDialog(LoginData *loginData, std::string serverName,
mKeepCheck = new CheckBox(_("Remember username"), mLoginData->remember);
mUpdateTypeLabel = new Label(_("Update:"));
- mUpdateTypeDropDown = new DropDown(new UpdateTypeModel());
+ mUpdateTypeModel = new UpdateTypeModel();
+ mUpdateTypeDropDown = new DropDown(mUpdateTypeModel);
mUpdateTypeDropDown->setActionEventId("updatetype");
mUpdateTypeDropDown->setSelected((loginData->updateType
| LoginData::Upd_Custom) ^ LoginData::Upd_Custom);
@@ -161,6 +162,8 @@ LoginDialog::LoginDialog(LoginData *loginData, std::string serverName,
LoginDialog::~LoginDialog()
{
+ delete mUpdateTypeModel;
+ mUpdateTypeModel = 0;
}
void LoginDialog::action(const gcn::ActionEvent &event)
diff --git a/src/gui/login.h b/src/gui/login.h
index 49d1aa199..9a65e9718 100644
--- a/src/gui/login.h
+++ b/src/gui/login.h
@@ -33,6 +33,7 @@
#include <vector>
class LoginData;
+class UpdateTypeModel;
/**
* The login dialog.
@@ -86,6 +87,7 @@ class LoginDialog : public Window, public gcn::ActionListener,
LoginData *mLoginData;
std::string *mUpdateHost;
+ UpdateTypeModel *mUpdateTypeModel;
};
#endif
diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp
index c9f1269aa..b76385f03 100644
--- a/src/gui/widgets/itemcontainer.cpp
+++ b/src/gui/widgets/itemcontainer.cpp
@@ -130,6 +130,7 @@ ItemContainer::~ItemContainer()
}
delete mItemPopup;
mItemPopup = 0;
+ delete []mShowMatrix;
}
void ItemContainer::logic()
diff --git a/src/gui/widgets/tabbedarea.cpp b/src/gui/widgets/tabbedarea.cpp
index f4b4a78f8..6b90cb381 100644
--- a/src/gui/widgets/tabbedarea.cpp
+++ b/src/gui/widgets/tabbedarea.cpp
@@ -46,13 +46,10 @@ TabbedArea::TabbedArea() : gcn::TabbedArea(),
TabbedArea::~TabbedArea()
{
- if (!mEnableScrollButtons)
- {
- delete mArrowButton[0];
- mArrowButton[0] = 0;
- delete mArrowButton[1];
- mArrowButton[1] = 0;
- }
+ delete mArrowButton[0];
+ mArrowButton[0] = 0;
+ delete mArrowButton[1];
+ mArrowButton[1] = 0;
}
void TabbedArea::enableScrollButtons(bool enable)
diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp
index 22daa5dc9..3531ac245 100644
--- a/src/gui/widgets/window.cpp
+++ b/src/gui/widgets/window.cpp
@@ -106,6 +106,8 @@ Window::~Window()
while (!mWidgets.empty())
delete mWidgets.front();
+ mWidgets.clear();
+
// need mWidgets.clean ?
removeWidgetListener(this);