summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-03-10 12:23:50 -0600
committerIra Rice <irarice@gmail.com>2009-03-10 12:43:02 -0600
commit75fc8e62d25ff1d39408588f76d95df4a9a7e663 (patch)
treebaea474d54281912dfec08d75319a4a09f4e03bd /src/gui
parent0540c611b48fd8dee14066b13755138192b7084b (diff)
downloadmana-client-75fc8e62d25ff1d39408588f76d95df4a9a7e663.tar.gz
mana-client-75fc8e62d25ff1d39408588f76d95df4a9a7e663.tar.bz2
mana-client-75fc8e62d25ff1d39408588f76d95df4a9a7e663.tar.xz
mana-client-75fc8e62d25ff1d39408588f76d95df4a9a7e663.zip
Fix some mem leaks
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/chat.cpp2
-rw-r--r--src/gui/setup.cpp11
-rw-r--r--src/gui/setup.h4
-rw-r--r--src/gui/setup_colors.cpp5
-rw-r--r--src/gui/skill.cpp2
-rw-r--r--src/gui/table.cpp1
-rw-r--r--src/gui/window.cpp2
7 files changed, 21 insertions, 6 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp
index 098d4e46..44e08052 100644
--- a/src/gui/chat.cpp
+++ b/src/gui/chat.cpp
@@ -109,6 +109,8 @@ ChatWindow::~ChatWindow()
config.setValue("PartyPrefix", partyPrefix);
config.setValue("ReturnToggles", mReturnToggles ? "1" : "0");
delete mRecorder;
+ delete mItemLinkHandler;
+ delete mParty;
}
void ChatWindow::chatLog(std::string line, int own, bool ignoreRecord)
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp
index 4798f598..b24aeb5d 100644
--- a/src/gui/setup.cpp
+++ b/src/gui/setup.cpp
@@ -65,9 +65,9 @@ Setup::Setup():
btn->setPosition(x, height - btn->getHeight() - 5);
add(btn);
- // Disable this button when the windows aren't created yet
+ // Store this button, as it needs to be enabled/disabled
if (!strcmp(*curBtn, "Reset Windows"))
- btn->setEnabled(statusWindow != NULL);
+ mResetWindows = btn;
}
TabbedArea *panel = new TabbedArea();
@@ -102,6 +102,8 @@ Setup::Setup():
add(panel);
setLocationRelativeTo(getParent());
+
+ setInGame(false);
}
Setup::~Setup()
@@ -141,3 +143,8 @@ void Setup::action(const gcn::ActionEvent &event)
tradeWindow->resetToDefaultSize();
}
}
+
+void Setup::setInGame(bool inGame)
+{
+ mResetWindows->setEnabled(inGame);
+} \ No newline at end of file
diff --git a/src/gui/setup.h b/src/gui/setup.h
index 9f1bafc7..d798162c 100644
--- a/src/gui/setup.h
+++ b/src/gui/setup.h
@@ -32,6 +32,7 @@
#include "../guichanfwd.h"
class SetupTab;
+class Button;
/**
* The setup dialog.
@@ -51,6 +52,8 @@ class Setup : public Window, public gcn::ActionListener
*/
~Setup();
+ void setInGame(bool inGame);
+
/**
* Event handling method.
*/
@@ -58,6 +61,7 @@ class Setup : public Window, public gcn::ActionListener
private:
std::list<SetupTab*> mTabs;
+ gcn::Button *mResetWindows;
};
#endif
diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp
index 31b56b51..ecb5bcf7 100644
--- a/src/gui/setup_colors.cpp
+++ b/src/gui/setup_colors.cpp
@@ -57,9 +57,8 @@ Setup_Colors::Setup_Colors() :
mPreview = new BrowserBox(BrowserBox::AUTO_WRAP);
mPreview->setOpaque(false);
- // Replace this later with a more appropriate link handler. For now, this'll
- // do, as it'll do nothing when clicked on.
- mPreview->setLinkHandler(new ItemLinkHandler());
+ // don't do anything with links
+ mPreview->setLinkHandler(NULL);
mPreviewBox = new ScrollArea(mPreview);
mPreviewBox->setHeight(20);
diff --git a/src/gui/skill.cpp b/src/gui/skill.cpp
index a8250fce..c29b70ab 100644
--- a/src/gui/skill.cpp
+++ b/src/gui/skill.cpp
@@ -162,7 +162,7 @@ SkillDialog::SkillDialog():
SkillDialog::~SkillDialog()
{
- delete mTable;
+ delete_all(mSkillList);
}
void SkillDialog::action(const gcn::ActionEvent &event)
diff --git a/src/gui/table.cpp b/src/gui/table.cpp
index b2571495..7d0fd48a 100644
--- a/src/gui/table.cpp
+++ b/src/gui/table.cpp
@@ -99,6 +99,7 @@ GuiTable::GuiTable(TableModel *initial_model, gcn::Color background,
GuiTable::~GuiTable(void)
{
+ uninstallActionListeners();
delete mModel;
}
diff --git a/src/gui/window.cpp b/src/gui/window.cpp
index bf1ec01c..b0bf1c59 100644
--- a/src/gui/window.cpp
+++ b/src/gui/window.cpp
@@ -130,6 +130,8 @@ Window::~Window()
delete(w);
}
+ removeWidgetListener(this);
+
instances--;
// Clean up static resources