mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 20:43:15 +00:00
- 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:
parent
ba661308d4
commit
d8ea5cdad9
2 changed files with 2 additions and 5 deletions
|
@ -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()))
|
||||
|
|
|
@ -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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue