summaryrefslogtreecommitdiffstats
path: root/pokemod/MapTrainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemod/MapTrainer.cpp')
-rw-r--r--pokemod/MapTrainer.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/pokemod/MapTrainer.cpp b/pokemod/MapTrainer.cpp
index dbcae301..ccd0d12d 100644
--- a/pokemod/MapTrainer.cpp
+++ b/pokemod/MapTrainer.cpp
@@ -56,8 +56,8 @@ MapTrainer::MapTrainer(const Pokemod* pokemod, const QString& fileName, const in
MapTrainer::~MapTrainer()
{
- foreach (MapTrainerTeamMember* teamMember, m_teamMembers)
- delete teamMember;
+ while (teamMemberCount())
+ deleteTeamMember(0);
}
bool MapTrainer::validate() const
@@ -138,7 +138,8 @@ void MapTrainer::load(const QString& fileName, int id) throw(Exception)
QStringList path = pokemod()->path().split('/');
path.removeLast();
QDir fdir(path.join("/"));
- m_teamMembers.clear();
+ while (teamMemberCount())
+ deleteTeamMember(0);
if (fdir.cd("team"))
{
QStringList files(fdir.entryList(QStringList("*.pini"), QDir::Files, QDir::Name));
@@ -358,7 +359,8 @@ MapTrainer& MapTrainer::operator=(const MapTrainer& rhs)
m_appearFlag = rhs.m_appearFlag;
m_dialog = rhs.m_dialog;
m_leadTeamMember = rhs.m_leadTeamMember;
- m_teamMembers.clear();
+ while (teamMemberCount())
+ deleteTeamMember(0);
foreach (MapTrainerTeamMember* teamMember, rhs.m_teamMembers)
m_teamMembers.append(new MapTrainerTeamMember(pokemod(), *teamMember, teamMember->id()));
return *this;