- finally found the reason why the garbage collector went haywire after a restart: PClass::StaticShutdown set the PClass::bShutdown variable which disables much of the garbage collector. This needs to be cleared after successful cleanup. Restart works now, except for some random CCMDs being executed right afterward.

- fixed incorrect variable init in A_Face* functions which was missed before.
This commit is contained in:
Christoph Oelckers 2015-04-28 23:37:04 +02:00
commit e42b688afa
2 changed files with 5 additions and 4 deletions

View file

@ -2652,7 +2652,7 @@ void D_DoomMain (void)
ReleaseGlobalSymbols();
PClass::StaticShutdown();
GC::FullGC(); // perform one final garbage collection before deleting the class data
GC::FullGC(); // perform one final garbage collection after shutdown
for (DObject *obj = GC::Root; obj; obj = obj->ObjNext)
{
@ -2660,6 +2660,7 @@ void D_DoomMain (void)
}
restart++;
PClass::bShutdown = false;
}
}
while (1);