diff options
| author | treeston <treeston.mmoc@gmail.com> | 2016-01-14 20:51:35 +0100 |
|---|---|---|
| committer | treeston <treeston.mmoc@gmail.com> | 2016-01-18 18:08:15 +0100 |
| commit | b945d01ee586f31bca6ccef4cf067ce4516c0c2b (patch) | |
| tree | 93ec6f97843be774390ee63f83e2a11ab0fb9816 /src/server/game/Instances | |
| parent | 82c0a074b4a3dd696646e507d4b39f3b5e03cbe3 (diff) | |
Instance boundary follow-up:
- Stop tools from complaining about leaks.
- Also, list -> vector.
- Fix an ambiguous constructor warning.
- Fix a bug with Gormok and Sindragosa (Fixes #16280).
Diffstat (limited to 'src/server/game/Instances')
| -rw-r--r-- | src/server/game/Instances/InstanceScript.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Instances/InstanceScript.h | 14 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index eb6d9a187d6..2422ea1c533 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -30,6 +30,12 @@ #include "WorldSession.h" #include "Opcodes.h" +BossBoundaryData::~BossBoundaryData() +{ + for (const_iterator it = begin(); it != end(); ++it) + delete it->boundary; +} + void InstanceScript::SaveToDB() { std::string data = GetSaveData(); diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h index 8285eaa7346..8f80f00c1ca 100644 --- a/src/server/game/Instances/InstanceScript.h +++ b/src/server/game/Instances/InstanceScript.h @@ -78,7 +78,19 @@ struct BossBoundaryEntry uint32 const bossId; AreaBoundary const* const boundary; }; -typedef std::list<BossBoundaryEntry> BossBoundaryData; +struct BossBoundaryData +{ + typedef std::vector<BossBoundaryEntry> StorageType; + typedef StorageType::const_iterator const_iterator; + + BossBoundaryData(std::initializer_list<BossBoundaryEntry> data) : _data(data) { } + ~BossBoundaryData(); + const_iterator begin() const { return _data.begin(); } + const_iterator end() const { return _data.end(); } + + private: + StorageType _data; +}; struct MinionData { |
