- Fixed: FinalGC() needs to run before the type system is shut down.

- Fixed: Don't access class metadata at all in DObject::PropagateMark if the type system is shutdown.
- Fixed: If FCompressedMemFile::Reopen() fails, then it would try to double-free memory when deleted.

SVN r3688 (trunk)
This commit is contained in:
Randy Heit 2012-06-16 03:10:38 +00:00
commit c197d0687c
5 changed files with 33 additions and 33 deletions

View file

@ -251,21 +251,6 @@ static void UnWTS (void)
}
}
//==========================================================================
//
// FinalGC
//
// If this doesn't free everything, the debug CRT will let us know.
//
//==========================================================================
static void FinalGC()
{
Args = NULL;
GC::FullGC();
GC::DelSoftRootHead(); // the soft root head will not be collected by a GC so we have to do it explicitly
}
//==========================================================================
//
// LayoutErrorPane
@ -828,7 +813,6 @@ void DoMain (HINSTANCE hInstance)
#endif
Args = new DArgs(__argc, __argv);
atterm(FinalGC);
// Under XP, get our session ID so we can know when the user changes/locks sessions.
// Since we need to remain binary compatible with older versions of Windows, we