From de43e2592dfce797245e63e865a0f8e8567b4ac7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 27 Jul 2016 02:38:38 +0300 Subject: Remove all pages after status window deleted. --- src/gui/windows/statuswindow.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/gui/windows/statuswindow.cpp') diff --git a/src/gui/windows/statuswindow.cpp b/src/gui/windows/statuswindow.cpp index 57ca97206..6106372bf 100644 --- a/src/gui/windows/statuswindow.cpp +++ b/src/gui/windows/statuswindow.cpp @@ -52,6 +52,8 @@ #include "resources/item/item.h" +#include "utils/delete2.h" +#include "utils/dtor.h" #include "utils/gettext.h" #include "debug.h" @@ -64,6 +66,7 @@ StatusWindow::StatusWindow() : ActionListener(), AttributeListener(), StatListener(), + mPages(), mTabs(CREATEWIDGETR(TabbedArea, this)), // TRANSLATORS: status window label mLvlLabel(new Label(this, strprintf(_("Level: %d"), 0))), @@ -211,6 +214,12 @@ StatusWindow::StatusWindow() : addTabs(); } +StatusWindow::~StatusWindow() +{ + delete2(mBasicStatsPage); + delete_all(mPages); +} + void StatusWindow::addTabs() { // TRANSLATORS: status window tab name @@ -225,8 +234,10 @@ void StatusWindow::addTabs() void StatusWindow::addTab(const std::string &name) { + StatsPage *const page = new StatsPage(this, name); mTabs->addTab(name, - new StatsPage(this, name)); + page); + mPages.push_back(page); } void StatusWindow::addTabBasic(const std::string &name) -- cgit v1.2.3-60-g2f50