- Fixed: The new Thing_ChangeTID check would infinite loop if an actor

scheduled for destruction was encountered.

SVN r137 (trunk)
This commit is contained in:
Randy Heit 2006-05-22 22:02:13 +00:00
parent 7f2ac35dce
commit ade6319a3c
2 changed files with 8 additions and 4 deletions

View file

@ -1,3 +1,7 @@
May 22, 2006
- Fixed: The new Thing_ChangeTID check would infinite loop if an actor
scheduled for destruction was encountered.
May 22, 2006 (Changes by Graf Zahl) May 22, 2006 (Changes by Graf Zahl)
- Fixed: Thing_ChangeTid must check whether the actor whose tid is about to - Fixed: Thing_ChangeTid must check whether the actor whose tid is about to
be changed is scheduled for destruction. be changed is scheduled for destruction.

View file

@ -900,11 +900,11 @@ FUNC(LS_Thing_ChangeTID)
next = iterator.Next (); next = iterator.Next ();
while (next != NULL) while (next != NULL)
{ {
if (!(next->ObjectFlags & OF_MassDestruction)) actor = next;
{ next = iterator.Next ();
actor = next;
next = iterator.Next ();
if (!(actor->ObjectFlags & OF_MassDestruction))
{
actor->RemoveFromHash (); actor->RemoveFromHash ();
actor->tid = arg1; actor->tid = arg1;
actor->AddToHash (); actor->AddToHash ();