This commit is contained in:
Christoph Oelckers 2016-08-26 02:20:53 +02:00
commit 58bc64ee8f
2 changed files with 10 additions and 0 deletions

View file

@ -77,6 +77,11 @@ public:
static void RunThinkers (int statnum);
static void DestroyAllThinkers ();
static void DestroyMostThinkers ();
static void DestroyThinkersInList(int statnum)
{
DestroyThinkersInList(Thinkers[STAT_TRAVELLING]);
DestroyThinkersInList(FreshThinkers[STAT_TRAVELLING]);
}
static void SerializeAll (FArchive &arc, bool keepPlayers);
static void MarkRoots();

View file

@ -1295,6 +1295,11 @@ void G_FinishTravel ()
}
bglobal.FinishTravel ();
// make sure that, after travelling has completed, no travelling thinkers are left.
// Since this list is excluded from regular thinker cleaning, anything that may survive through here
// will endlessly multiply and severely break the following savegames or just simply crash on broken pointers.
DThinker::DestroyThinkersInList(STAT_TRAVELLING);
}
//==========================================================================