- fixed: BlockLinesIterator::Next could get stuck in rare situations where validcount was altered while the iterator was still running. This should probably be dealt with by using another marking method but at least this prevents the engine from freezing.

SVN r3268 (trunk)
This commit is contained in:
Christoph Oelckers 2011-07-07 22:09:09 +00:00
parent ba661308d4
commit d8ea5cdad9
2 changed files with 2 additions and 5 deletions

View file

@ -330,7 +330,7 @@ bool P_TeleportMove (AActor *thing, fixed_t x, fixed_t y, fixed_t z, bool telefr
FBlockLinesIterator it(box);
line_t *ld;
// P_LineOpening requires the thing's z to be the destination ú‹ order to work.
// P_LineOpening requires the thing's z to be the destination ín order to work.
fixed_t savedz = thing->z;
thing->z = z;
while ((ld = it.Next()))

View file

@ -721,15 +721,12 @@ line_t *FBlockLinesIterator::Next()
{
line_t *ld = &lines[*list];
list++;
if (ld->validcount != validcount)
{
ld->validcount = validcount;
return ld;
}
else
{
list++;
}
}
}