diff options
author | Shauren <shauren.trinity@gmail.com> | 2012-11-20 12:48:00 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2012-11-20 12:48:00 +0100 |
commit | 70d44f97dc80d06e77dfaa36de6ae11efd3d5d65 (patch) | |
tree | d24cd6e9063b10b44b02cbeb078b74f5fe2f7d6e /src | |
parent | b5c9ab88023c49ab0e3ab2365c789cd27a6629f1 (diff) |
Core/ObjectMgr: Fixed crash on shutdown
Closes #8362
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Globals/ObjectMgr.cpp | 8 |
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(); |