aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-11-20 12:48:00 +0100
committerShauren <shauren.trinity@gmail.com>2012-11-20 12:48:00 +0100
commit70d44f97dc80d06e77dfaa36de6ae11efd3d5d65 (patch)
treed24cd6e9063b10b44b02cbeb078b74f5fe2f7d6e /src
parentb5c9ab88023c49ab0e3ab2365c789cd27a6629f1 (diff)
Core/ObjectMgr: Fixed crash on shutdown
Closes #8362
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Globals/ObjectMgr.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index a94a12a99fe..ff734efe385 100755
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -264,16 +264,20 @@ ObjectMgr::~ObjectMgr()
// free only if loaded
for (int class_ = 0; class_ < MAX_CLASSES; ++class_)
{
- delete[] _playerClassInfo[class_]->levelInfo;
+ if (_playerClassInfo[class_])
+ delete[] _playerClassInfo[class_]->levelInfo;
delete _playerClassInfo[class_];
}
for (int race = 0; race < MAX_RACES; ++race)
+ {
for (int class_ = 0; class_ < MAX_CLASSES; ++class_)
{
- delete[] _playerInfo[race][class_]->levelInfo;
+ if (_playerInfo[race][class_])
+ delete[] _playerInfo[race][class_]->levelInfo;
delete _playerInfo[race][class_];
}
+ }
for (CacheVendorItemContainer::iterator itr = _cacheVendorItemStore.begin(); itr != _cacheVendorItemStore.end(); ++itr)
itr->second.Clear();