Fixed crash on exit caused by undefined class

Referenced but undefined optional class does not abort loading with fatal error
For example, incorrect MorphProjectile's PlayerClass or MonsterClass caused crash during shutdown
This commit is contained in:
alexey.lysiuk 2018-01-31 18:40:15 +02:00
parent 1608e11f0d
commit 9a9c90a504

View file

@ -280,7 +280,7 @@ void PClass::StaticShutdown ()
// This must be done in two steps because the native classes are not ordered by inheritance,
// so all meta data must be gone before deleting the actual class objects.
for (auto cls : AllClasses) cls->DestroyMeta(cls->Meta);
for (auto cls : AllClasses) if (cls->Meta != nullptr) cls->DestroyMeta(cls->Meta);
for (auto cls : AllClasses) delete cls;
// Unless something went wrong, anything left here should be class and type objects only, which do not own any scripts.
bShutdown = true;